UIViewController生命周期方法执行顺序

本文详细剖析了UIViewController的生命周期方法,特别是`loadView`和`viewDidLoad`的执行顺序。在从AViewController通过navigationController推送到BViewController的过程中,解释了为何在某些特定情况如内存警告后返回时,`loadView`会被调用来重新创建视图,随后执行`viewDidLoad`进行视图初始化。理解这些生命周期方法对于优化应用性能至关重要。
摘要由CSDN通过智能技术生成


剖析UIviewController生命周期方法

面试必问问题:一是内存管理,二是viewcontroller的生命周期方法,三是tableview的复用,四是异步同步网络请求,五是多线程,六是数据存储。

  • UIviewController的生命周期方法调用顺序

假设现在有一个 AViewController(简称Avc)BViewController (简称Bvc)   

通过navigationController的push实现 Avc 到 Bvc的跳转,那么让我们来看下Avc 和 Bvc生命周期的方法是怎样一个执行顺序。

下面就是正确的顺序

2013-11-25 10:32:43.937 TestJumpABC[647:a0b] A viewDidLoad
2013-11-25 10:32:43.938 TestJumpABC[647:a0b] A viewWillAppear
2013-11-25 10:32:43.962 TestJumpABC[647:a0b] A viewDidAppear
2013-11-25 10:32:45.972 TestJumpABC[647:a0b] B viewDidLoad
2013-11-25 10:32:45.972 TestJumpABC[647:a0b] A viewWillDisappear
2013-11-25 10:32:45.975 TestJumpABC[647:a0b] B viewWillAppear
2013-11-25 10:32:45.978 TestJumpABC[647:a0b] A viewDidDisappear
2013-11-25 10:32:45.978 TestJumpABC[647:a0b] B viewDidAppear

那么我们从Bvc 返回到 Avc呢?执行顺序又是怎么样的呢?

2013-11-25 10:34:15.719 TestJumpABC[647:a0b] B viewWillDisappear
2013-11-25 10:34:15.721 TestJumpABC[647:a0b] A viewWillAppear
2013-11-25 10:34:16.226 TestJumpABC[647:a0b] B 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值