是否有必要将NSKeyedArchiver用于标准Cocoa集合?

时间:2012-08-07 03:17:22

标签: cocoa collections nskeyedarchiver

我最近想从用户默认值中存储和检索NSArrays,我找到并使用了Storing custom objects in an NSMutableArray in NSUserDefaults的建议,该工作正常。

然而,回想起来,如果您使用标准集合类而不是自定义对象,那么这似乎有点过分。任何人都可以确认我使用的建议解决方案(上面链接)的主要好处是你可以用这种方式存储自定义类,但是用于处理内容是字符串或其他数组或标准字典的NSArrayNSKeyedArchiver这种方法是不必要的吗?

1 个答案:

答案 0 :(得分:2)

是的,请参阅:{/ 1}}文档:

setObject:forKey:

  

value参数只能是属性列表对象:NSData,NSString,NSNumber,NSDate,NSArray或NSDictionary。对于NSArray和NSDictionary对象,它们的内容必须是属性列表对象。

如果您需要将对象转换为NSUserDefaults,则只需使用NSCoder NSKeyedArchiver {/ 1}}。