当一个视图控制器被创建,并在屏幕上现实的时候。代码的执行顺序:
1.alloc 创建对象,分配空间。
2.init 初始化对象,初始化数据。
3.loadView 从nib载入视图,通常这一步不需要去干涉。除非你没有使用xib文件创建视图
4.viewDidLoad 载入完成,可以进行自定义数据以及动态的创建其他空间。
5.viewWillAppear 视图将出现在屏幕之前。
6.viewDidAppear 视图在屏幕上渲染完成。
当一个视图被移除屏幕并且销毁的时候执行顺序:
1.viewWillDisappear 视图被移除之前。
2.viewDidDisappear 视图被移除之后。
3.dealloc 销毁视图。
对UIViewController中常用的方法解释及用途:
1.-(void)viewDidLoad
一个APP在载入时会先通过调用loadView方法或者载入IB中创建的初始界面的方法,将视图载入到内存中。然后会调用viewDidLoad方法来进行进一步的设置。通常,我们对于各种初始数据的载入,初始设定等很多内容,都会在这个方法中实现,所以这个方法是一个很常用,很重要的方法。
但是要注意,这个方法只会在app刚开始加载的时候调用一次,只能用来初始化设置。
2.-(void)viewWillAppear:(BOOL)animated
系统在载入数据之后会在屏幕上显示之前调用,对即将要显示的视图作进一步设置。例如,设备方向。
当app有多个视图时,在试图切换时,并不会重新载入viewDidLoad方法,所以对需要数据更新的话只能用这个方法。
3.-(void)viewDidAppear:(BOOL)animated
由于特殊原因,不能在viewWillAppear方法对视图进行更新,可以调用这个函数。
4.-(void)viewWillDisappear:(BOOL)animated
在视图转换时,当前视图被移除、覆盖时,调用此方法。
5.-(void)viewDidDisappear:(BOOL)animated
对已经消失、覆盖或者隐藏的视图,调用。
转自:http://blog.csdn.net/huifeidexin_1/article/details/7566226