对象和视图设置和初始化在Objective-C
问题描述:
当创建Objective-C中一个UIViewController派生类,什么进入init
方法,什么应该进入loadView
什么成viewDidLoad
- 更重要的原因,以及什么好处(性能?)这是否有?对象和视图设置和初始化在Objective-C
此外,这与UIView派生类有什么关系,您所拥有的唯一选项是init
方法?
我知道模板代码已经对每种方法的内容都有评论,但是我不清楚为什么每个事情都会发生在他们说的地方。
澄清
我想在一个较低的水平,也许知道,什么是事物之间的实际差异在“初始化”,“的loadView”和“viewDidLoad中”正在做。框架在这些调用之间做了什么,可能会影响我设置我的观点和做其他工作的方式/时间?这些方法如何受线程影响?
答
你想知道一些较低级别的东西。
init
:此方法在任何NSObject子类上被调用。这是你设定的对象,你可能已经知道了。在许多模型(如MVC模式)中,直接使用init。至于UIKit类,很少需要init直接调用。它不应该被使用。在UIViewController中,你使用initWithNibNamed:
来初始化它。您可以重写此方法,但在大多数情况下这不是必需的。这个方法是EVER在类上调用的第一种方法(在任何视图设置之前或之后)。
loadView:
和viewDidLoad:
阅读本文iPhone SDK: what is the difference between loadView and viewDidLoad?。
要知道的唯一真正重要的事情是,-init是NSObject标准初始化方法。 -loadView和-viewDidLoad是UIViewController的初始化方法。