[置顶] 【iOS开发】UIViewController的生命周期
2017-06-15 13:46
288 查看
一、UIViewController生命周期图
![](http://images2015.cnblogs.com/blog/80291/201608/80291-20160830154433668-1972503659.png)
二、UIViewController 生命周期详解
1、 init初始化controller,此时可以进行基本参数的初始化。
2、loadView
loadView方法默认实现[super loadView]
如果在初始化controller时指定了xib文件名,就会根据传入的xib文件名加载对应的xib文件,如果没传xib文件名,默认会加载跟controller同名的xib文件,如果没找到相关联的xib文件,就会创建一个空白的UIView,然后赋給controller的view,注意此时xib还是nil。
3、viewDidLoad
当loadView创建完view之后,此时view已经完成加载了,会调用viewDidLoad方法;此时可以在view上面添加相应的控件初始化、事件等。
4、viewWillAppear
当view在load完之后,将要显示在屏幕之前会调用这个方法
在重写这些方法时候最好先调用一下系统的方法之后在做操作。
5、viewDidAppear
当view已经在屏幕上显示出来之后,会调用这个方法
6、viewWillDisappear
当视图将要从屏幕上移除时候调用
7、viewDidDisappear
当视图已经从屏幕上移除时候调用
8、dealloc
view被销毁时候调用,如果是手动管理内存的话,需要释放掉之前在init和viewDidLoad中分配的内存(类似alloc,new,copy);dealloc方法不能由我们主动调用,必须等引用计数为0时候由系统调用.
注意:自 iOS6 起,viewWillUnload 和 viewDidUnload 这两个方法被废除了。当系统发出内存警告的时候,会自动把 view 给清除掉,不用我们再特别处理。
同时系统还会调用 didReceiveMemoryWarning 方法通知视图控制器,我们可以在这里面进行一些操作,来释放一些额外的资源。
相关文章推荐
- iOS开发——生命周期
- iOS开发——生命周期(转)
- [置顶] Mac和iOS开发资源汇总
- iOS开发之iOS应用程序生命周期(前后台切换,应用的各种状态)详解
- [置顶] Objective-C ,/,ios,/iphone开发基础:协议(protocol)
- IOS开发之界面生命周期——init,viewDidAppear,viewWill(dis)Appear,loadView,viewDid(un)Load,dealloc
- [置顶] Objective-C ,ios,iphone开发基础:ios数据库(The SQLite Database),使用终端进行简单的数据库操作
- iOS开发——生命周期
- [置顶] 对iOS开发有用的一些自动化处理脚本
- [置顶] Objective-C ,ios,iphone开发基础:在UITextField输入完以后,隐藏键盘,
- iOS开发—生命周期
- iOS开发那些事--iOS视图生命周期与视图控制器关系
- iOS开发视频教程 UI部分:9、应用程序的生命周期
- iOS开发——生命周期
- iOS开发那些事--iOS视图生命周期与视图控制器关系
- iOS开发——生命周期
- 2011斯坦福大学iOS应用开发教程学习笔记(第八课)viewController生命周期
- iOS开发那些事--iOS视图生命周期与视图控制器关系
- iOS开发之UIViewController视图生命周期
- [置顶] Objective-C ,ios,iphone开发基础:命名规范