控制器生命周期
2016-07-13 21:23
253 查看
当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序:
(1) alloc – 创建对象,分配空间
(2) init (initWithNibName) – 初始化对象,初始化数据
(3) loadView – 从nib载入视图 ,这一步一般不需要干涉。除非没有使用xib文件创建视图
(4) viewDidLoad – 加载完成,可以进行自定义数据以及动态创建其他控件
(5) viewWillAppear – 视图即将出现在屏幕
(6) viewDidAppear – 视图已在屏幕上渲染完成
当一个视图被移除屏幕并且销毁的时候的执行顺序:
(1) viewWillDisappear – 视图将被从屏幕上移除之前执行
(2) viewDidDisappear – 视图已经被从屏幕上移除,用户看不到这个视图了
![](http://img.blog.csdn.net/20160713210959296)
viewDidUnload :当发生内存警告的时, 如果这个视图并不是当前正在显示的视图,则 viewDidUnload 将会被执行,这个视图的所有子视图将被销毁,以释放内存, 此时开发者需要手动对viewLoad、viewDidLoad中创建的对象释放内存。 因为当这个视图再次显示在屏幕上的时候,viewLoad、viewDidLoad 再次被调用,以便再次构造视图。
实例:
点击一个控制器跳转到另一个控制器,方法调用:
(1) alloc – 创建对象,分配空间
(2) init (initWithNibName) – 初始化对象,初始化数据
(3) loadView – 从nib载入视图 ,这一步一般不需要干涉。除非没有使用xib文件创建视图
(4) viewDidLoad – 加载完成,可以进行自定义数据以及动态创建其他控件
(5) viewWillAppear – 视图即将出现在屏幕
(6) viewDidAppear – 视图已在屏幕上渲染完成
当一个视图被移除屏幕并且销毁的时候的执行顺序:
(1) viewWillDisappear – 视图将被从屏幕上移除之前执行
(2) viewDidDisappear – 视图已经被从屏幕上移除,用户看不到这个视图了
viewDidUnload :当发生内存警告的时, 如果这个视图并不是当前正在显示的视图,则 viewDidUnload 将会被执行,这个视图的所有子视图将被销毁,以释放内存, 此时开发者需要手动对viewLoad、viewDidLoad中创建的对象释放内存。 因为当这个视图再次显示在屏幕上的时候,viewLoad、viewDidLoad 再次被调用,以便再次构造视图。
实例:
点击一个控制器跳转到另一个控制器,方法调用:
相关文章推荐
- iOS开发之路--微博“更多”页面
- iOS开发之路--微博骨架搭建
- iOS开发使用JSON解析网络数据
- IOS开发代码分享之获取启动画面图片的string
- iOS开发实现音频播放功能
- iOS开发之视图切换
- iOS开发使用XML解析网络数据
- IOS开发实现录音功能
- iOS开发之UIScrollView详解
- IOS开发之路--C语言数组和字符串
- iOS开发之触摸事件
- IOS开发代码分享之用nstimer实现倒计时功能
- iOS开发使用GDataXML框架解析网络数据
- iOS开发之UITableView详解
- IOS开发代码分享之设置UISearchBar的背景颜色
- ios推送证书
- iOS和tvOS游戏按需加载资源简介
- ios开发之环境搭建-01
- iOS TableView滚动时的视觉差效果