我想使用NSObject
保存NSKeyedArchiver
并保存其关联NSArray
。
用户有很多技能(不超过6或7)。用户模型中的技能是NSArray
NSObjects
NSCoding
协议
//User.h
@property (strong, nonatomic) NSArray *skills;
用户和技能是分别保存在2个不同的.plist
文件中,还是用userID检索的技能?或者是 initWithCoder 和 decodeWithCoder 方法中包含的技能数组?
答案 0 :(得分:1)
符合NSCoding
协议的对象可以使用NSKeyedArchiver
类保存到文件中(并从中读取)。
<强> NSCoding 强>
许多常见的Objective-C
类已符合NSCoding
。您可以保存任何这些类型的对象,而无需执行任何特殊操作:
的NSArray NSData的
的NSDate
的NSDictionary
的NSNumber
的NSString
如果您不确定某个班级是否支持NSCoding
,请查看其班级文档。
对于自定义类,您必须将 encodeWithCoder :和 initWithCoder :方法添加到您的类中以符合NSCoding
协议。