我有一个对象。它只有两个 NSStrings 作为属性。
我创建了一个数组来保存其中的几个对象。
我是否需要使用 NSKeyedArchiver 将此数组保存到磁盘,或者我可以只使用 NSUserDefaults?
我有一个对象。它只有两个 NSStrings 作为属性。
我创建了一个数组来保存其中的几个对象。
我是否需要使用 NSKeyedArchiver 将此数组保存到磁盘,或者我可以只使用 NSUserDefaults?
如果您的对象是自定义类,则需要NSKeyedArchiver
在将内容放入之前使用NSUserDefaults
. 见这里。
您可以只[[NSUserDefaults standardUserDefaults] setObject:myArray forKey:myKey];
用于写作和[[NSUserDefaults standardUserDefaults] arrayForKey:myKey];
阅读(没有setArray:forKey:
因为不需要)。
此外,如果您有一个不想存储在 NSUserDefaults 中的数组,则很容易写入和读取数组:-[NSArray writeToFile:atomically:]和+[NSArray arrayWithContentsOfFile:]。NSDictionary 也有相同的方法来轻松读/写字典。当然,您也可以随时使用 NSKeyed(Un)Archiver。