为什么在未使用viewDidLoad设置时,某些UIViewController属性变为nil?

时间:2012-09-26 04:36:38

标签: objective-c cocoa uikit

当我使用nib文件加载视图时,似乎会发生这种情况。我需要以编程方式为某些自定义视图设置数据源和委托。它们仅在我在viewDidLoad方法中设置时才起作用。在初始化程序,awakeFromNib等中设置它们都会失败。有谁知道这个的原因?

1 个答案:

答案 0 :(得分:2)

从nib文件创建视图控制器时,首先初始化然后加载UIViewController。因此,当initWithNibName:bundle:方法被调用self.view时,从笔尖加载的任何其他视图将为nil。也可能会卸载视图(请参阅viewDidUnload)。这就是为什么任何与视图相关的初始化都需要在viewDidLoad中发生。