OS视图控制对象生命周期-init、viewDidLoad、viewWillAppear、viewDidAppear、viewWillDisappear、viewDidDisappear的区别及用途。
init(initWithNibName) |
初始化程序(对象、数据) |
loadView |
从系统自动从nib载入视图、除非没有xib文件 |
viewDidLoad |
加载视图 |
viewWillAppear |
UIViewController对象的视图即将加入窗口时调用 |
viewDidAppear |
UIViewController对象的视图已经加入窗口时调用 |
viewWillDisappear |
UIViewController对象的视图即将消失、被覆盖、隐藏时调用 |
viewDidDisappear |
UIViewController对象的视图已经消失、被覆盖、隐藏时调用 |
viewVillUnload |
当内存过低时,需要释放一些不需要使用的视图时,即将释放时调用 |
viewDidUnload |
当内存过低时,释放一些不需要的视图时调用 |
willRotateToInterfaceOrientation |
视图开始旋转时调用 |
didRotateToInterfaceOrientation |
视图旋转结束时调用 |
视图控制对象通过alloc和init来创建,但是视图控制对象不会在创建的那一刻就马上创建相应的视图,而是等到需要使用的时候才通过调用loadView来创建,这样的做法能提高内存的使用率。比如,当某个标签有很多UIViewController对象,那么对于任何一个UIViewController对象的视图,只有相应的标签被选中时才会被创建出来。