UIViewController的完整生命周期
-[ViewControllerinitWithNibName:bundle:];
-[ViewControllerinit];
-[ViewControllerloadView];
-[ViewControllerviewDidLoad];
-[ViewControllerviewWillDisappear:];
-[ViewControllerviewWillAppear:];
-[ViewControllerviewDidAppear:];
-[ViewControllerviewDidDisappear:];
1、 alloc 创建对象,分配空间
2、init(initWithNibName) 初始化对象,初始化数据
3、loadView 从nib载入视图 ,通常这一步不需要去干涉。除非你没有使用xib文件创建视图
4、viewDidLoad 载入完成,可以进行自定义数据以及动态创建其他控件
5、viewWillAppear 视图将出现在屏幕之前,马上这个视图就会被展现在屏幕上了
6、viewDidAppear 视图已在屏幕上渲染完成
当一个视图被移除屏幕并且销毁的时候的执行顺序,这个顺序差不多和上面的相反
1、viewWillDisappear 视图将被从屏幕上移除之前执行
2、viewDidDisappear 视图已经被从屏幕上移除,用户看不到这个视图了
3、dealloc 视图被销毁,此处需要对你在init和viewDidLoad中创建的对象进行释放
ViewController 的 loadView,、viewDidLoad,、viewDidUnload 分别是在什么时候调用的?
viewDidLoad在view从nib文件初始化时调用,loadView在controller的view为nil时调用。
此方法在编程实现view时调用,view控制器默认会注册memory warning notification,当view controller的任何view没有用的时候,viewDidUnload会被调用,在这里实现将retain的view release,如果是retain的IBOutlet view属性则不要在这里release,IBOutlet会负责release。
网友评论