ios 對plist檔案的修改

2021-06-22 06:41:58 字數 3137 閱讀 6138

這篇文章是自己通過實踐獲取,在網上查過很多資料,也走了不上的彎路,由於剛開始學子不久,只是把自己遇到的問題貢獻給大家

一,建立檔案

//獲取路徑物件

nsarray

*paths =nssearchpathfordirectoriesindomains(nsdocumentdirectory,nsuserdomainmask,

yes);

//獲取完整路徑

nsstring *documentsdirectory = [paths objectatindex:0];

nsmutabledictionary*dictplist = [[nsmutabledictionary

alloc

] init];

//設定屬性值

[dictplist setobject:@"

張三" forkey:@"name"];

[dictplist setobject:@"李四"

forkey:@"name1"];

[dictplist setobject:@"王五"

forkey:@"name2"];

//寫入檔案

[dictplist writetofile:plistpath atomically:yes];

這個是建立了乙個簡單的plist檔案,建立後的圖1為:

下面是建立了一種多鍵值的plist檔案,**和圖如下:

//獲取路徑物件

nsarray

*paths =nssearchpathfordirectoriesindomains(nsdocumentdirectory,nsuserdomainmask,

yes);  

//獲取完整路徑

nsstring *documentsdirectory = [paths objectatindex:0];

nsmutabledictionary*dictplist = [[nsmutabledictionary

alloc

] init];

//定義第乙個外掛程式的屬性

nsmutabledictionary*plugin1 = [[nsmutabledictionary

alloc

]init];

[plugin1 setobject:@"張三"

forkey:@"name1"];

[plugin1 setobject:@"李四"

forkey:@"name2"];

//定義第二個外掛程式的屬性

nsmutabledictionary*plugin2 = [[nsmutabledictionary

alloc

]init];

[plugin2 setobject:@"王五"

forkey:@"name1"];

[plugin2 setobject:@"趙斌"

forkey:@"name2"];

//設定屬性值

[dictplist setobject:plugin1 forkey:@"

初一班"];

[dictplist setobject:plugin2 forkey:@"

初二班"];

//寫入檔案

[dictplist writetofile:plistpath atomically:yes];

圖2:

針對圖1進行修改的程式,**如下:

nsstring

*path = [[nssearchpathfordirectoriesindomains(nsdocumentdirectory,nsuserdomainmask,

yes)       objectatindex:

0@"test.plist"

];    

alloc

]initwithcontentsoffile

:path]

mutablecopy

];    

name = @"山山";   

執行後如下圖:

針對圖2進行修改的程式,**如下:

[dictplist writetofile:plistpath atomically:yes];

nsstring

*path = [[nssearchpathfordirectoriesindomains(nsdocumentdirectory,nsuserdomainmask,

yes)objectatindex:

0@"test.plist"];

//根據路徑獲取test.plist的全部內容

nsmutabledictionary

*infolist= [[[

nsmutabledictionary

alloc

]initwithcontentsoffile

:path]

mutablecopy];

//獲取初一班的資訊

nsmutabledictionary *info = [infolist objectforkey:@"

初一班"];

nsstring *name1 = [info objectforkey:@"name1"];

name1 = @"

山山";

[info setvalue:name1 forkey:@"name1"];

[infolist setvalue:info forkey:@"

初一班"];

[infolist writetofile:path atomically:yes];

圖如下:

以上兩個修改資訊的地方,必須要加入紅色標記的方法,才能在表裡進行增改操作。

以上是個人的學習心得,請大家多多指教。

plist檔案修改

plist全名是 property list,屬性列表檔案,它是一種用來儲存序列化後的物件的檔案。檔案是xml格式的。檔案讀取 nsmutablearray data nsmutablearray alloc initwithcontentsoffile filepath 檔案寫入 data wri...

iOS 對plist增改操作

這篇文章是自己通過實踐獲取,在網上查過很多資料,也走了不上的彎路,由於剛開始學子不久,只是把自己遇到的問題貢獻給大家 一,建立檔案 獲取路徑物件 nsarray paths nssearchpathfordirectoriesindomains nsdocumentdirectory,nsuserd...

iOS 對plist增改操作

這篇文章是自己通過實踐獲取,在網上查過很多資料,也走了不上的彎路,由於剛開始學子不久,只是把自己遇到的問題貢獻給大家 一,建立檔案 獲取路徑物件 nsarray paths nssearchpathfordirectoriesindomains nsdocumentdirectory,nsuserd...