这将加载一个数组
- (id)initWithCoder:(NSCoder*) coder
{
self = [super initWithCoder: coder];
if (self) {
myArray=[coder decodeObjectForKey:@"myArray"];
}
return self;
}调用此函数以加载数组的代码是什么?
发布于 2010-09-18 22:03:43
initWithCoder:方法用于使用NSCoding protocol进行反序列化,例如通过[NSKeyedUnarchiver unarchiveObjectWithFile:]。有关详细信息,请参阅Archives and Serializations Programming Guide,特别是Encoding and Decoding Objects部分。
发布于 2010-09-18 22:18:33
正如DarkDust所说,它是在使用NSUnarchiver或NSKeyedUnarchiver时调用的。然而,这不一定是我们自己的情况。实际上可以实现自定义的NSCoder,并且根据NSDecoder ..例如,编码/解码yaml等。
最常见的用例是加载nib文件,因为这些内容是存档的。
https://stackoverflow.com/questions/3741946
复制相似问题