这将加载一个数组
- (id)initWithCoder:(NSCoder*) coder
{
self = [super initWithCoder: coder];
if (self) {
myArray=[coder decodeObjectForKey:@"myArray"];
}
return self;
}
调用此函数以便加载数组的代码是什么?
这将加载一个数组
- (id)initWithCoder:(NSCoder*) coder
{
self = [super initWithCoder: coder];
if (self) {
myArray=[coder decodeObjectForKey:@"myArray"];
}
return self;
}
调用此函数以便加载数组的代码是什么?
这些initWithCoder:
方法用于使用NSCoding 协议进行反序列化,例如通过[NSKeyedUnarchiver unarchiveObjectWithFile:]。有关详细信息,请参阅存档和序列化编程指南,尤其是编码和解码对象部分。
正如 DarkDust 所说,它在使用 NSUarchiver 或 NSKeyedUnarchiver 时被调用。然而,这不一定是自己的情况。实际上可以实现自定义 NSCoder 并根据 NSDecoder .. 例如编码/解码 yaml 等...
最常见的用例是加载 nib 文件时,因为这些内容已存档。