iOS:ViewController的-init和-viewLoad有什么区别?

d4n*_*13l 21 uiviewcontroller ios

我不知道究竟是什么地方设置像NavigationBar的tintColor或我的ViewController的标题.它也适用于-init方法和-viewLoad方法.这样做的"最佳实践"或"正确方法"是什么?有哪些优势?

rck*_*nes 24

init方法(是的,有不止一个)是其中UIViewController被初始化.因此,这是你为其UIViewController而不是其观点做事的地方.

如果使用a nib来加载视图,则设置任何属性的最佳位置是viewDidLoad方法.nib加载后调用此方法.如果以编程loadView方式设置视图,请使用该方法,然后这是设置UIControl属性的位置.

由于系统可以卸载视图以节省内存,因此它将UIViewController独自存在.init由于UIViewController已经初始化,因此不会再次应用在methode中设置的任何属性.