如何用信息更新现有的plist?我有带字符串的简单字典。这是我的保存方法:
#define DOCUMENTS [NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject]
- (IBAction)saveData:(id)sender {
NSMutableDictionary *data = [NSMutableDictionarydictionaryWithObjects:@[self.textFieldOne.text, self.textFieldTwo.text, self.textFieldThree.text] forKeys:@[@"Key1", @"Key2", @"Key3"]];
NSError *error = nil;
NSData *dataToPlist = [NSPropertyListSerialization dataWithPropertyList:data format:NSPropertyListXMLFormat_v1_0 options:0 error:&error];
NSString *path = [DOCUMENTS stringByAppendingPathComponent:@"userData.plist"];
[dataToPlist writeToFile:path atomically:YES];
}
因此,当我从 1 类调用此方法时,这是可以的,但是当我想使用 2 类中的其他信息更新此 plist 时,它会用新信息覆盖旧信息。我应该怎么做才能使用其他类的新信息更新现有的 plist?
最佳答案
您需要将现有的plist加载到NSDictionary
或NSArray
(视情况而定)中,然后使用附加数据更新数据,最后写出更新的数据到 plist 文件。
关于ios - 如何更新现有的.plist?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19800914/