这将保存一个数组(我认为)。
- (void)encodeWithCoder:(NSCoder *)encoder {
[encoder encodeObject:myArray forKey:@"myArray"];
}
我想在保存数组时是否必须直接调用此方法,还是必须执行其他操作?
答案 0 :(得分:8)
您不直接调用此方法。如果需要序列化该对象,它由NSCoder
子类调用。如果要对对象图进行编码,请使用archivedDataWithRootObject:
的类方法archiveRootObject:toFile:
或NSKeyedArchiver
。这反过来会调用对象的encodeWithCoder:
方法。另请注意,阵列中的每个对象都必须实现NSCoding
协议。