3

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

4

1 回答 1

2

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

于 2012-09-26T04:48:22.687 回答