我需要使用NSKeyedArchiver吗?

时间:2010-09-19 10:08:08

标签: objective-c arrays cocoa-touch nsuserdefaults nskeyedarchiver

我有一个对象。它只有两个NSStrings作为属性。

我创建了一个数组来保存其中的几个对象。

我是否需要使用NSKeyedArchiver将此阵列保存到磁盘,还是只能使用NSUserDefaults?

2 个答案:

答案 0 :(得分:1)

如果您的对象是自定义类,则在将内容放入NSKeyedArchiver之前,您需要使用NSUserDefaults。请参阅here

答案 1 :(得分:0)

您可以使用[[NSUserDefaults standardUserDefaults] setObject:myArray forKey:myKey];进行撰写,使用[[NSUserDefaults standardUserDefaults] arrayForKey:myKey];进行阅读(不需要setArray:forKey:)。

此外,如果你有一个你不想在NSUserDefaults中存储的数组,那么很容易编写和读取数组:-[NSArray writeToFile:atomically:]+[NSArray arrayWithContentsOfFile:]。 NSDictionary也有相同的方法来轻松读/写字典。当然,您也可以随意使用NSKeyed(Un)Archiver。