首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >什么时候调用initWithCoder?

什么时候调用initWithCoder?
EN

Stack Overflow用户
提问于 2010-09-18 21:55:04
回答 2查看 7.2K关注 0票数 6

这将加载一个数组

代码语言:javascript
复制
- (id)initWithCoder:(NSCoder*) coder
{
    self = [super initWithCoder: coder];
    if (self) {
        myArray=[coder decodeObjectForKey:@"myArray"];
    }
    return self;
}

调用此函数以加载数组的代码是什么?

EN

回答 2

Stack Overflow用户

发布于 2010-09-18 22:03:43

initWithCoder:方法用于使用NSCoding protocol进行反序列化,例如通过[NSKeyedUnarchiver unarchiveObjectWithFile:]。有关详细信息,请参阅Archives and Serializations Programming Guide,特别是Encoding and Decoding Objects部分。

票数 4
EN

Stack Overflow用户

发布于 2010-09-18 22:18:33

正如DarkDust所说,它是在使用NSUnarchiver或NSKeyedUnarchiver时调用的。然而,这不一定是我们自己的情况。实际上可以实现自定义的NSCoder,并且根据NSDecoder ..例如,编码/解码yaml等。

最常见的用例是加载nib文件,因为这些内容是存档的。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3741946

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档