我有一个通过initWithNibName创建的视图控制器,我发现没有调用awakeFromNib。是否仅在从Nib取消归档视图控制器时调用awakeFromNib? (即调用initWithCoder)
答案 0 :(得分:17)
我认为你要找的是viewDidLoad
。 awakeFromNib
仅在从笔尖加载的对象上调用。控制器本身接收viewDidLoad:
。由于您正在调用initWithNibName:bundle:
,因此它实际上并未从笔尖中取消归档!
答案 1 :(得分:4)
UIViewController只在需要显示时才懒惰地加载其视图。这适用于使用-loadView以编程方式创建视图或从nib中取消存档。
您可以通过引用UIViewController的视图属性来加载视图。
答案 2 :(得分:2)
不会为iOS中的文件所有者和第一响应者等占位符对象调用awakeFromNib。请参阅Object Loading Process Docs
中的#4