IOS使用NSKeyedArchiver保存关联数组

时间:2015-07-22 07:37:12

标签: ios plist nscoding nskeyedarchiver

我想使用NSObject保存NSKeyedArchiver并保存其关联NSArray

用户有很多技能(不超过6或7)。用户模型中的技能是NSArray NSObjects NSCoding协议

//User.h
@property (strong, nonatomic) NSArray *skills;

用户和技能是分别保存在2个不同的.plist文件中,还是用userID检索的技能?或者是 initWithCoder decodeWithCoder 方法中包含的技能数组?

1 个答案:

答案 0 :(得分:1)

符合NSCoding协议的对象可以使用NSKeyedArchiver类保存到文件中(并从中读取)。

<强> NSCoding

许多常见的Objective-C类已符合NSCoding。您可以保存任何这些类型的对象,而无需执行任何特殊操作:

  

的NSArray   NSData的

     

的NSDate

     

的NSDictionary

     

的NSNumber

     

的NSString

如果您不确定某个班级是否支持NSCoding,请查看其班级文档。

对于自定义类,您必须将 encodeWithCoder :和 initWithCoder :方法添加到您的类中以符合NSCoding协议。

Here you can get what you are looking for