iOS plist文件操作,寫入/刪除/修改

1.保存在user Document文件夾下丈秩,以讀取文件盯捌,寫入文件方式

2.在工程里手動創(chuàng)建一個.plist文件,把固定的內容寫入蘑秽,這個需要人工手動寫入(工程里只可讀取饺著,不可以寫入)

3.保存在user Document下,不過不需要讀寫文件肠牲,用系統(tǒng)的 NSUserDefaults 可以快速保存添加讀取刪除基本數據類型 這里記錄的是第1種幼衰,第2種就是創(chuàng)建一個plist文件,然后自己手動寫入數據缀雳,再用NSString *path = [[NSBundle mainBundle] pathForResource:@"xiaoxi" ofType:@"plist”];獲取到本地存儲的數據渡嚣。


1.寫入數據到plist文件

//獲取路徑對象    
NSArray *pathArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);   
NSString *path = [pathArray objectAtIndex:0];   
//獲取文件的完整路徑    
NSString *filePatch = [path stringByAppendingPathComponent:@"xiaoxi.plist"];       
//上面3句可以寫成這一句//    
NSString *filePatch = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0]stringByAppendingPathComponent:@"xiaoxi.plist"];   
//    NSLog(@"------filepath---%@",filePatch);   
 /**     
下面是我的plist路徑,在桌面空白處點擊一下,前往-按住option-資源庫-Developer-CoreSimulator-Devices......就按照下面路徑找到plist所在的位置   
/Users/baiteng01/Library/Developer/CoreSimulator/Devices/92444384-5241-4934-B078-1A7241F1B687/data/Containers/Data/Application/73005382-D1FB-4BC2-BB4E-1FBC64284141/Documents/xiaoxi.plist          
*/ 
//寫入數據到plist文件   
NSMutableDictionary *dic1 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"小小虎",@"name",@"5",@"age",@"boy",@"sex",nil];        
NSMutableDictionary *dic2 = [NSMutableDictionary dictionaryWithObjectsAndKeys:@"小小兮",@"name",@"6",@"age",@"girl",@"sex",nil];       
//將上面2個小字典保存到大字典里面   
NSMutableDictionary *dataDic = [NSMutableDictionary dictionary];    [dataDic setObject:dic1 forKey:@"一年級"];   
[dataDic setObject:dic2 forKey:@"二年級"];    //寫入plist里面   
[dataDic writeToFile:filePatch atomically:YES];        //讀取plist文件的內容  
NSMutableDictionary *dataDictionary = [[NSMutableDictionary alloc] initWithContentsOfFile:filePatch];  
NSLog(@"---plist一開始保存時候的內容---%@",dataDictionary); 

2.對plist文件內容進行/刪除/修改/添加/寫入操作

    //獲取plist文件的路徑
    NSArray *pathArray = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
    NSString *path1 = [pathArray objectAtIndex:0];
    NSString *myPath = [path1 stringByAppendingPathComponent:@"xiaoxi.plist"];

    //根據之前保存的容器類型讀取數據
    //是數組就用數組來獲取數據肥印,是字典就用字典來獲取數據
    //xiaoxi.plist文件
    //NSMutableArray *dataArr = [[NSMutableArray alloc] initWithContentsOfFile:filePath];
    //xiaoxi.plist文件
    NSMutableDictionary *dataDictionary = [[NSMutableDictionary alloc] initWithContentsOfFile:plistPath];

//修改字典里面的內容,先按照結構取到你想修改內容的小字典
NSMutableDictionary *dd = [dataDictionary objectForKey:@"一年級"];   
[dd setObject:@"我改名字了哦" forKey:@"name"];    
[dd setObject:@"我添加的新內容" forKey:@"content"];   
[dd removeObjectForKey:@"age"];         
//修改成功以后识椰,將這個小字典重新添加到大字典里面    
[dataDictionary setObject:dd forKey:@"一年級"];        
[dataDictionary writeToFile:filePatch atomically:YES];    
NSLog(@"---plist做過操作之后的字典里面內容---%@",dataDictionary); 

3.刪除plist文件

//清除plist文件,可以根據我上面講的方式進去本地查看plist文件是否被清除    
NSFileManager *fileMger = [NSFileManager defaultManager];        
NSString *xiaoXiPath = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES)objectAtIndex:0]stringByAppendingPathComponent:@"xiaoxi.plist"];        
//如果文件路徑存在的話    BOOL bRet = [fileMger fileExistsAtPath:xiaoXiPath];        
if (bRet) {                
              NSError *err;                
              [fileMger removeItemAtPath:xiaoXiPath error:&err];    
 } 

僅供參考

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末深碱,一起剝皮案震驚了整個濱河市裤唠,隨后出現的幾起案子,更是在濱河造成了極大的恐慌莹痢,老刑警劉巖种蘸,帶你破解...
    沈念sama閱讀 222,946評論 6 518
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異竞膳,居然都是意外死亡航瞭,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 95,336評論 3 399
  • 文/潘曉璐 我一進店門坦辟,熙熙樓的掌柜王于貴愁眉苦臉地迎上來刊侯,“玉大人,你說我怎么就攤上這事锉走”醭梗” “怎么了藕届?”我有些...
    開封第一講書人閱讀 169,716評論 0 364
  • 文/不壞的土叔 我叫張陵,是天一觀的道長亭饵。 經常有香客問我休偶,道長,這世上最難降的妖魔是什么辜羊? 我笑而不...
    開封第一講書人閱讀 60,222評論 1 300
  • 正文 為了忘掉前任踏兜,我火速辦了婚禮,結果婚禮上八秃,老公的妹妹穿的比我還像新娘碱妆。我一直安慰自己,他們只是感情好昔驱,可當我...
    茶點故事閱讀 69,223評論 6 398
  • 文/花漫 我一把揭開白布疹尾。 她就那樣靜靜地躺著,像睡著了一般骤肛。 火紅的嫁衣襯著肌膚如雪纳本。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,807評論 1 314
  • 那天萌衬,我揣著相機與錄音,去河邊找鬼它抱。 笑死秕豫,一個胖子當著我的面吹牛,可吹牛的內容都是我干的观蓄。 我是一名探鬼主播混移,決...
    沈念sama閱讀 41,235評論 3 424
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼侮穿!你這毒婦竟也來了歌径?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 40,189評論 0 277
  • 序言:老撾萬榮一對情侶失蹤亲茅,失蹤者是張志新(化名)和其女友劉穎回铛,沒想到半個月后,有當地人在樹林里發(fā)現了一具尸體克锣,經...
    沈念sama閱讀 46,712評論 1 320
  • 正文 獨居荒郊野嶺守林人離奇死亡茵肃,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,775評論 3 343
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現自己被綠了袭祟。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片验残。...
    茶點故事閱讀 40,926評論 1 353
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖巾乳,靈堂內的尸體忽然破棺而出您没,到底是詐尸還是另有隱情鸟召,我是刑警寧澤,帶...
    沈念sama閱讀 36,580評論 5 351
  • 正文 年R本政府宣布氨鹏,位于F島的核電站欧募,受9級特大地震影響,放射性物質發(fā)生泄漏喻犁。R本人自食惡果不足惜槽片,卻給世界環(huán)境...
    茶點故事閱讀 42,259評論 3 336
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望肢础。 院中可真熱鬧还栓,春花似錦、人聲如沸传轰。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,750評論 0 25
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽慨蛙。三九已至辽聊,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間期贫,已是汗流浹背跟匆。 一陣腳步聲響...
    開封第一講書人閱讀 33,867評論 1 274
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留通砍,地道東北人玛臂。 一個月前我還...
    沈念sama閱讀 49,368評論 3 379
  • 正文 我出身青樓,卻偏偏與公主長得像封孙,于是被迫代替她去往敵國和親迹冤。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 45,930評論 2 361

推薦閱讀更多精彩內容