前言:可以在工程中直接創(chuàng)建plist文件货邓,該文件可以直接在xcode里編輯,但是無法直接通過通過代碼操作屁商,故而我們的做法一般是先在xcode里創(chuàng)建一個(gè)plist文件梯啤,提前寫好我們需要的內(nèi)容或者直接從外面導(dǎo)入,通過路徑獲取plist里面的內(nèi)容章母。后在沙盒內(nèi)創(chuàng)建我們可以直接操作的plist文檔母蛛,同時(shí)導(dǎo)入我們通過xcode上面的plist獲取并修改的內(nèi)容。之后便可以直接操作沙盒內(nèi)部的plist文件乳怎,以此達(dá)到存儲(chǔ)和修改的目的了彩郊。
plist文件最外層默認(rèn)使用字典的存儲(chǔ)形式。
本文檔用于個(gè)人記錄及具體信息的解釋蚪缀,故不提供一些基礎(chǔ)功能及用法的解釋說明秫逝。
一、工程內(nèi)plist文件的相關(guān)操作
如果無需在plist內(nèi)部提前寫入內(nèi)容询枚,可以略過本步驟直接對(duì)(NSMutableDictionary *)data進(jìn)行操作并直接將其導(dǎo)入導(dǎo)入沙盒內(nèi)部违帆,用于存取修改。
本文檔創(chuàng)建的plist文件名稱為test.plist金蜀,具體根據(jù)實(shí)際情況進(jìn)行調(diào)整刷后。
1.創(chuàng)建或添加
直接在工程內(nèi)部創(chuàng)建plist文件,或者通過工程外將文件導(dǎo)入進(jìn)來廉油。
2.讀取工程內(nèi)的plist文件
NSString * bundlePath = [[NSBundle mainBundle] pathForResource:@"test" ofType:@"plist"];
NSMutableDictionary * data1 = [[NSMutableDictionary alloc] initWithContentsOfFile:bundlePath];
3.對(duì)獲取的plist文件的信息進(jìn)行修改
[data1 setObject:@"內(nèi)容" forKey:@"關(guān)鍵字"];
[data1 setObject:@"haaa" forKey:@"ccc"];
[data1 setObject:@"afee" forKey:@"aaaa"];
二惠险、對(duì)沙盒里plist文件的操作
1.獲取應(yīng)用程序沙盒路徑
//獲取沙盒下的Documents目錄
NSArray *pathsArray=NSSearchPathForDirectoriesInDomains(NSDocumentDirectory,NSUserDomainMask,YES);
NSString * plistPath = [pathsArray objectAtIndex:0];
//得到完整的文件名
NSString *filename=[plistPath stringByAppendingPathComponent:@"test.plist"];
2.將數(shù)據(jù)寫入沙盒內(nèi)plist文件中
如果該目標(biāo)文件還未創(chuàng)建則自動(dòng)創(chuàng)建該plist文件,該步驟可對(duì)plist文件進(jìn)行創(chuàng)建及修改更新抒线。
//內(nèi)容寫入
[data1 writeToFile:filename atomically:YES];
3.讀取沙盒內(nèi)plist文件
//讀取
NSMutableDictionary * data = [[NSMutableDictionary alloc] initWithContentsOfFile:filename];
NSLog(@"data:%@", data);
本文檔由本人編寫,經(jīng)驗(yàn)不足渣慕,如有謬誤嘶炭,歡迎指出。