5

这将保存一个数组(我认为)。

- (void)encodeWithCoder:(NSCoder *)encoder {
    [encoder encodeObject:myArray forKey:@"myArray"];
}

当我想保存数组时是否必须直接调用此方法,还是必须执行其他操作?

4

1 回答 1

8

您不直接调用此方法。NSCoder如果需要序列化该对象,则由子类调用。如果要对对象图进行编码,请使用类方法archivedDataWithRootObject:archiveRootObject:toFile:. NSKeyedArchiver这反过来将调用encodeWithCoder:您的对象的方法。另请注意,数组中的每个对象都必须实现该NSCoding协议。

于 2010-09-18T13:46:53.830 回答