UIViewController的生命周期

参考博客
作者:林大鹏天地
链接:http://www.cocoachina.com/ios/20180509/23326.html

1、initWithNibName:bundle:

UIViewController的生命周期_第1张图片
initWithNibName.png

2、initWithCoder:

UIViewController的生命周期_第2张图片
initWithCoder.png

3、awakeFromNib

UIViewController的生命周期_第3张图片
DF12E148-2243-4F19-A2A0-91851537ED0F.png

4、loadView

注意:在重写loadView方法的时候,不要调用父亲的方法


UIViewController的生命周期_第4张图片
loadView.png

5、viewDidLoad

UIViewController的生命周期_第5张图片
viewDidLoad.png

6、viewWillAppear:

UIViewController的生命周期_第6张图片
viewWillAppear.png

7、viewWillLayoutSubviews

UIViewController的生命周期_第7张图片
viewWillLayoutSubviews.png

8、viewDidLayoutSubViews

UIViewController的生命周期_第8张图片
viewDidLayoutSubviews.png

9、viewDidAppear:

UIViewController的生命周期_第9张图片
viewDidAppear.png

10、viewWillDisAppear:

UIViewController的生命周期_第10张图片
viewWillDisappear.png

11、viewDidDisappear:

UIViewController的生命周期_第11张图片
viewDidDisappear.png

12、dealloc

UIViewController的生命周期_第12张图片
dealloc.png

13、总结

(1)、只有init系列的方法,如initWithNibName需要自己调用,其他方法如loadView、awakeFromNib则是系统自动调用。而viewWill/Did系列的方法则类似于调和通知,也会被自动调用。
(2)、纯代码写视图布局需要注意,需手动调用loadView方法,而且不需要调用你类的loadView方法。纯代码和用IB的区别仅存在于loadView方法及其之前,编程时需要注意的也就是loadView方法。
(3)、除了initWithNibName和awakeFromNib方法是处理视图控制器外,其他方法都是处理视图。这两个方法在视图控制器的生命周期里只会调用一次。

你可能感兴趣的:(UIViewController的生命周期)