以下代码已正确写入plist,但无法检测是否有相同的数据写入。
如何做到这一点还没有加入数据来重复加入。
-(void)saveData{
// Create the new dictionary that will be inserted into the plist.
NSMutableDictionary *nameDictionary = [NSMutableDictionary dictionary];
[nameDictionary setValue:wooname forKey:@"wooname"];
[nameDictionary setValue:woodata forKey:@"woodata"];
[nameDictionary setValue:woojclass forKey:@"woojclass"];
[nameDictionary setValue:woojtime forKey:@"woojtime"];
[nameDictionary setValue:woojpin forKey:@"woojpin"];
[nameDictionary setValue:woojsps forKey:@"woojsps"];
[nameDictionary setValue:woojspall forKey:@"woojspall"];
[nameDictionary setValue:wooUrl forKey:@"wooUrl"];
NSString *rootPath = [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) objectAtIndex:0];
NSString *plistPath = [rootPath stringByAppendingPathComponent:@"myData.plist"];
NSMutableArray *plist = [NSMutableArray arrayWithContentsOfFile:plistPath];
if (plist == nil) plist = [NSMutableArray array];
[plist addObject:nameDictionary];
[plist writeToFile:plistPath atomically:YES];
[plist insertObject:nameDictionary atIndex:0];
答案 0 :(得分:2)
如果我理解你的问题:
使plist成为字典而不是数组然后将现有的plist读入NSMutableDictionary
,添加新的/更新的值,写出来。或者代替
[plist addObject:nameDictionary
使用
[plist addEntriesFromDictionary:nameDictionary];