1.首先判断控制器是否有视图,如果没有就调用loadView方法创建:通过storyboard或者代码;
2.随后调用viewDidLoad,可以进行下一步初始化操作;只会调用一次;
3.在视图显示之前调用viewWillAppear;该函数可以调用多次;
4.视图显示完毕,调用viewDidAppear;
5.在视图消失之前调用viewWillDisAppear;该函数可以调用多次(如需要);
6.在布局变化前后,调用viewWill/DidLayoutSubviews处理相关信息;
当一个视图控制器被创建,并在屏幕上显示的时候代码的执行顺序:
step 1:alloc 创建对象,分配空间
step 2:init (initWithNibName) 初始化对象
step 3:loadView 从nib载入视图 ,通常这一步不需要去干涉。除非你没有使用xib文件创建视图
step 4:viewDidLoad 载入完成,可以进行自定义数据以及动态创建其他控件
step 5:viewWillAppear 视图将出现在屏幕之前,马上这个视图就会被展现在屏幕上了
step 6:viewDidAppear 视图已在屏幕上渲染完成
当一个视图控制器被移除屏幕并且销毁的时候的执行顺序:
step 1:viewWillDisappear 视图将被从屏幕上移除之前执行step 2:viewDidDisappear 视图已经被从屏幕上移除,用户看不到这个视图了
step 3:dealloc 视图被销毁