在这段代码中,我从.xib加载了一个视图控制器(以及相关的视图):
-(id)initWithCoder:(NSCoder *)coder
{
// add custom initialisation code here
[super initWithCoder:coder];
return self;
}这成功地工作了,但是我真的不理解:coder这一行到底完成了什么。这是在初始化我的View之后初始化我的View Controller吗?
请在解释时尽可能明确。谢谢。
发布于 2010-03-13 03:24:40
您的类是UIViewController的子类。该调用告诉您的超类(UIViewController)执行它需要完成的步骤,以便您可以执行初始化步骤。这将是设置UIViewController提供的任何属性,或者注册UIViewController执行其工作所需的通知。
除了需要采取的步骤之外,建议您几乎每次覆盖来自超类的方法时都调用超类的方法。
编辑:同样,如果你不需要在超类提供的方法中做任何事情,你可以省略它,而使用超类的方法。在这种情况下,我不会提供initWithCoder:方法,除非除了所显示的代码之外,还需要执行一些代码。
https://stackoverflow.com/questions/2435203
复制相似问题