我在代码中使用NSDictionary的writeToFile属性,试图将字典更新为如下所示的documents目录,

NSDictionary *revisionDict = [NSDictionary dictionaryWithObject:currentItem.rev forKey:destPath];
NSArray *documentDirPath = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDir = [documentDirPath objectAtIndex:0];
NSString *dictPath = [documentsDir stringByAppendingPathComponent:@"Revision.dictionary"];
[revisionDict writeToFile:dictPath atomically:YES];


这里的问题是我的字典,而不是每次迭代都被新条目更新,而是被新条目取代。
我该如何更新字典,是否有towriteToFile的替代方法,需要任何帮助。

最佳答案

内存中的字典可以是可变的。写入磁盘的字典是一整套信息的快照。

您不会从任何此类框架方法中获得“合并更新”行为。如果您有要添加或更新的现有版本,则需要将内存中的原始版本加载/存储为可变字典,然后对其进行更改或添加,然后保存整个新内容(使用-writeToFile:或其他方式)。

如果要在循环中添加一堆条目,请先添加所有条目,然后在完成后将字典作为文件写入磁盘。

10-08 05:22