iOS5故事板UIViewController故事板调用了哪种初始化方法?


Answers:


127

使用的初始化程序是 initWithCoder:

- (id)initWithCoder:(NSCoder *)decoder

然后,您还会收到一条awakeFromNib消息。


3
我是唯一发现没有从initWithCoder调用default(?)初始化的人吗?
brianestey 2012年

2
不,它不是指定的init,init应该使用(通常)更多参数调用另一个init,然后再调用[super init]。在这种情况下,似乎initWithCoder是指定的init
MrJD 2012年

7
initWithCoder:是实现NSCoding的任何类的指定初始化器。
乔恩·赫斯

5

我相信是 awakeFromNib


awakeFromNib也被调用,因为我们UIViewControllers正在您的.storyboard文件中“罐头”(相当于“旧”笔尖)
Besi

awakeFromNibinit*方法之间的区别(这可能很重要)是,它们不返回实例awakeFromNib
马修

0

它是 - (id)initWithCoder:(NSCoder *)decoder

因此,如果您必须执行自定义init,假设使用自定义Pager控制器,您必须像

    - (id)initWithCoder:(NSCoder *)decoder {

        self = [super initWithCoder:decoder];
        return [self initWithViewControllers:@[self.playerViewController, self.categoriesViewController]
                  andTitles:@[@"Player",@"Categories"]];
    }
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.