ViewController的生命周期

一、一个页面完整的生命周期和程序执行顺序

1、loadView                          通常这一步不需要去干涉。

2、viewDidLoad                  载入完成,可以进行自定义数据以及动态创建其他控件

3、viewWillAppear              视图将出现在屏幕之前,马上这个视图就会被展现在屏幕上了

4、viewDidAppear              视图已在屏幕上渲染完成,当一个视图被移除屏幕并且销毁的时候的执行顺序,这个顺序差不多和上面的相反

5、viewWillDisappear            视图将被从屏幕上移除之前执行

6、viewDidDisappear            视图已经被从屏幕上移除,用户看不到这个视图了

7、dealloc                                视图被销毁

二、两个页面之间生命周期执行顺序:

(1) VC1 页面push到 VC2页面

(VC1)viewWillDisappear->(VC2)viewDidLoad->(VC2)viewWillAppear->(VC1)viewDidDisappear->(VC2)viewDidAppear

(2)VC2 页面pop到 VC1页面

(VC2)viewWillDisappear->(VC1)viewWillAppear->(VC2)viewDidDisappear->(VC1)viewDidAppear

(3)VC2 页面系统左滑手势滑了一点,又留在当前页面

(VC2)viewWillDisappear->(VC1)viewWillAppear->(VC1)viewWillDisappear->(VC1)viewDidDisappear->(VC2)viewWillAppear->(VC2)viewDidAppear

从以上三种情况可以看出一个页面的viewDidDisappear不一定一定在另一个页面viewWillAppear的后面,而一定在另一个页面的viewDidAppear的后面

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