對iOS中pilst文件的修改

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

一,創建文件   

    

    //獲取路徑對象

    NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectoryNSUserDomainMaskYES);

    //獲取完整路徑

    NSString *documentsDirectory = [paths objectAtIndex:0];

    NSString *plistPath = [documentsDirectory stringByAppendingPathComponent:@"test.plist"];

    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(NSDocumentDirectoryNSUserDomainMaskYES);  

    //獲取完整路徑

    NSString *documentsDirectory = [paths objectAtIndex:0];

    NSString *plistPath = [documentsDirectory stringByAppendingPathComponent:@"test.plist"];

    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(NSDocumentDirectoryNSUserDomainMaskYES)       objectAtIndex:0]stringByAppendingPathComponent:@"test.plist"];    

    NSMutableDictionary *applist = [[[NSMutableDictionary alloc]initWithContentsOfFile:path]mutableCopy];    

    NSString *name = [applist objectForKey:@"name"];    

    name = @"山山";   

    [applist setObject:name forKey:@"name"];

    [applist writeToFile:path atomically:YES];

執行後如下圖:

    


針對圖2進行修改的程序,代碼如下:

   

   

      [dictplist writeToFile:plistPath atomically:YES];

    NSString *path = [[NSSearchPathForDirectoriesInDomains(NSDocumentDirectoryNSUserDomainMaskYES)objectAtIndex:0]stringByAppendingPathComponent:@"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];


圖如下:

    

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

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

    

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章