我的ViewController中没有调用awakeFromNib

时间:2009-06-03 09:53:39

标签: iphone

我有一个通过initWithNibName创建的视图控制器,我发现没有调用awakeFromNib。是否仅在从Nib取消归档视图控制器时调用awakeFromNib? (即调用initWithCoder)

3 个答案:

答案 0 :(得分:17)

我认为你要找的是viewDidLoadawakeFromNib仅在从笔尖加载的对象上调用。控制器本身接收viewDidLoad:。由于您正在调用initWithNibName:bundle:,因此它实际上并未从笔尖中取消归档!

答案 1 :(得分:4)

UIViewController只在需要显示时才懒惰地加载其视图。这适用于使用-loadView以编程方式创建视图或从nib中取消存档。

您可以通过引用UIViewController的视图属性来加载视图。

答案 2 :(得分:2)

不会为iOS中的文件所有者和第一响应者等占位符对象调用awakeFromNib。请参阅Object Loading Process Docs

中的#4