0

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

    @interface CustomStore : NSObject
{
    NSMutableArray *allDictionary;
}

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

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

4

3 回答 3

1

是的,是的。这是一个不错的教程: http ://cocoadevcentral.com/articles/000084.php

于 2012-10-17T03:20:44.280 回答
0

您的自定义类需要遵守 NSCoding 协议。就像实现 initWithCoder: 和 encodeWithCoder: 一样简单。一旦你的自定义类实现了 NSCoding 协议,你就可以开始了。

于 2012-10-17T03:28:59.417 回答
0

通过使用 NSKeyArchiver,要存储的对象必须通过 NSCoding 确认实现。

@interface YouClassName : NSObject <NSCoding>

并实施

- (id)initWithCoder:(NSCoder *)aDecoder;
- (void)encodeWithCoder:(NSCoder *)aCoder;

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

于 2012-10-17T03:30:55.567 回答