我可以使用NSKeyedArchiver保存一组NSMutableDictionary

时间:2012-10-17 03:14:47

标签: objective-c ios

假设我创建了一个自定义类来保存 NSMutableDictionary 的数组。

    @interface CustomStore : NSObject
{
    NSMutableArray *allDictionary;
}

我可以使用archiveRootObject:toFile来保存列表吗?

如果我想从字典中检索自定义类,该怎么办? 我是否需要在自定义类中确认encodeObject:forKey:

3 个答案:

答案 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;

因此,在您的自定义类实现上面之后,可以将它们成功保存在列表中。