Cocoa touch 使用NSKeyedUnachiver读入使用writeToFile:原子方式创建的文件:
从由Cocoa touch 使用NSKeyedUnachiver读入使用writeToFile:原子方式创建的文件:,cocoa-touch,cocoa,nsdictionary,plist,archive,Cocoa Touch,Cocoa,Nsdictionary,Plist,Archive,从由writeToFile:atomically:编写的文件中读取NSDictionary时,这些方法之间是否存在差异 [someDict writeToFile:filePath atomically:YES]; 阅读者: NSDictionary *dict = [NSKeyedUnarchiver unarchiveObjectWithFile:filePath]; vs 是的:第一个选项根本不起作用 NSKeyedArchiver和writeToFile:不要使用相同的格式。writ
writeToFile:atomically:
编写的文件中读取NSDictionary
时,这些方法之间是否存在差异
[someDict writeToFile:filePath atomically:YES];
阅读者:
NSDictionary *dict = [NSKeyedUnarchiver unarchiveObjectWithFile:filePath];
vs
是的:第一个选项根本不起作用
NSKeyedArchiver
和writeToFile:
不要使用相同的格式。writeToFile:atomicaly:
说明中说:
将字典内容的属性列表表示形式写入给定路径
而密钥存档是
与体系结构无关的字节流,保留对象和值的标识以及它们之间的关系
它更灵活,因为它可以对任何符合NSCoding
的对象进行编码,而不仅仅是编码
使用一个过程创建的文件不能与另一个过程一起读取。第二个过程可以工作;第一个不会。@dasblinkenlight第一个会使用NSArray(我是说使用NSArray的writeToFile方法),还是我应该只使用我用NSKeyedArchiver编写的文件?你应该只使用第一个方法处理你用
NSKeyedArchiver
编写的文件。
NSDictionary *dict = [NSDictionary dictionaryWithContentsOfFile:filePath];