什么叫viewDidLoad或loadview

时间:2009-05-21 17:56:17

标签: iphone

我有一个从.nib文件加载的视图控制器类。但是,我还想以编程方式向该视图添加控件(如UISwitch)(UISwitch未添加到nib文件中)。我应该在哪部分代码中分配UISwitch控件,viewDidLoad或loadView方法?

3 个答案:

答案 0 :(得分:3)

我会在viewDidLoad上做。肯定。

来自Apple的文档:

  

讨论   仅调用此方法   当view属性为nil时   需要显示。你不应该   直接调用此方法。

     

如果您创建此视图的视图   控制器以编程方式管理   那么你应该重写这个方法   创建你的视图。默认   实现创建一个UIView对象   没有子视图。

     

但是,如果您初始化视图   使用nib文件 - 即你设置   thenibName和nibBundle   属性 - 然后你不应该   覆盖此方法,因为   默认实现已经重新加载   nib文件。而是覆盖   viewDidLoad方法设置任何   nib文件后的属性   加载。

在您的情况下,UIView是从 NIB 文件创建的。

答案 1 :(得分:1)

使用viewDidLoad。此外,您应该删除在viewDidUnload方法中添加的所有内容。

答案 2 :(得分:0)

如果从NIB加载,实施loadView将导致错误。使用viewDidLoad。正如Pablo所说,苹果公司已有很好的记录。