首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当重写编码器时,总是需要调用[超级initWithCoder: initWithCoder ]

当重写编码器时,总是需要调用[超级initWithCoder: initWithCoder ]
EN

Stack Overflow用户
提问于 2010-03-13 03:21:15
回答 1查看 3.8K关注 0票数 2

在这段代码中,我从.xib加载了一个视图控制器(以及相关的视图):

代码语言:javascript
复制
-(id)initWithCoder:(NSCoder *)coder
    {
    // add custom initialisation code here
    [super initWithCoder:coder];
    return self;
    }

这成功地工作了,但是我真的不理解:coder这一行到底完成了什么。这是在初始化我的View之后初始化我的View Controller吗?

请在解释时尽可能明确。谢谢。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-03-13 03:24:40

您的类是UIViewController的子类。该调用告诉您的超类(UIViewController)执行它需要完成的步骤,以便您可以执行初始化步骤。这将是设置UIViewController提供的任何属性,或者注册UIViewController执行其工作所需的通知。

除了需要采取的步骤之外,建议您几乎每次覆盖来自超类的方法时都调用超类的方法。

编辑:同样,如果你不需要在超类提供的方法中做任何事情,你可以省略它,而使用超类的方法。在这种情况下,我不会提供initWithCoder:方法,除非除了所显示的代码之外,还需要执行一些代码。

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

https://stackoverflow.com/questions/2435203

复制
相关文章

相似问题

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