UIViewController生命周期方法执行顺序

原创 2016年06月01日 17:48:50

为了方便描述 假设有两个视图控制器
一个AVC 一个BVC
通过navgationController的push实现AVC 到BVC的跳转
现在来看一下AVC 和 BVC生命周期的方法是怎样一个执行顺序。
1. AVC viewDidLoad
2. AVC viewWillAppear
3. AVC viewDidApper
4. BVC viewDidLoad
5. AVC viewWillDisappear
6. BVC viewWillAppear
7. AVC viewDidDisappear
8. BVC viewDidAppear
再来看看从BVC返回到AVC中 方法的执行顺序
1. BVC viewWillDisappear
2. AVC viewWillAppear
3. BVC viewDidDisappear
4. AVC viewDidAppear

其实在viewDidLoad之前还有个loadView的方法
当view需要被展示而它却是nil的时候 视图控制器就会调用loadView这个方法

什么时候执行viewDidLoad?
举例:AVC push 到了BVC 然后BVC 再pop回AVC 在pop回AVC时由于AVC里面的view和subViews已经存在里面了不需要重新加载 所以这个时候AVC不会再调用viewDidLoad这个方法 这里存在一种特殊的情况那就是当AVC push到 BVC时由于要加载BVC的视图内存刚好在这时候又不足了 那么系统会把AVC里的视图全部释放掉 这样当BVC pop 到AVC时 由于AVC里面的视图已经被释放了要重新加载这时就会调用viewDidLoad方法

相关文章推荐

UIViewController各种方法生命周期和调用顺序

UIViewController中 loadView (当访问UIViewController的view属性时) viewDidLoad (加载视图时调用) viewWillAppear (视图...

UIViewController的生命周期及iOS程序执行顺序

UIViewController的生命周期及iOS程序执行顺序

回顾ios中UIViewController的生命周期及ios的执行顺序

之前经过一个月的学习我将ios的ui基础学习

iOS程序的执行顺序 和 UIViewController的生命周期

iOS程序的执行顺序 和 UIViewController的生命周期

UIViewController的生命周期及iOS程序执行顺序

当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序 1、 alloc                                   创建对象,分配空间 2、init (initW...

UIViewController的生命周期及iOS程序执行顺序

转载自http://blog.csdn.net/huifeidexin_1/article/details/7566226 当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序 1、 a...

oc UI UIViewController的生命周期及iOS程序执行顺序

当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序 1、 alloc                                   创建对象,分配空间 2、init (initW...

UIViewController的生命周期及iOS程序执行顺序

当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序 1、 alloc                                   创建对象,分配空间 2、init (initW...

iOS程序执行顺序和UIViewController 的生命周期(整理)

http://www.jianshu.com/p/d60b388b19f5 iOS程序执行顺序和UIViewController 的生命周期(整理)...

CYC-UIViewController的生命周期及iOS程序执行顺序

当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序1、 alloc 创建对象,分配空间 2、init (initWith...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:UIViewController生命周期方法执行顺序
举报原因:
原因补充:

(最多只允许输入30个字)