假设我创建了一个自定义类来保存 NSMutableDictionary 的数组。
@interface CustomStore : NSObject
{
NSMutableArray *allDictionary;
}
我可以使用archiveRootObject:toFile来保存列表吗?
如果我想从字典中检索自定义类,该怎么办? 我是否需要在自定义类中确认encodeObject:forKey:
答案 0 :(得分:1)
是的,是的。这是一个不错的教程:http://cocoadevcentral.com/articles/000084.php
答案 1 :(得分:0)
您的自定义类需要遵守NSCoding协议。它就像实现initWithCoder:和encodeWithCoder:一样简单。一旦你的自定义类实现了NSCoding协议,你就可以了。
答案 2 :(得分:0)
通过使用NSKeyArchiver,想要存储的对象必须通过NSCoding确认实现。
@interface YouClassName : NSObject <NSCoding>
用
实施- (id)initWithCoder:(NSCoder *)aDecoder;
- (void)encodeWithCoder:(NSCoder *)aCoder;
因此,在您的自定义类实现上面之后,可以将它们成功保存在列表中。