ios开发获取父控制器生命周期_ViewController生命周期

## ARC环境

单个viewController的生命周期initWithCoder:(NSCoder *)aDecoder:(如果使用storyboard或者xib)

loadView:加载view

viewDidLoad:view加载完毕

viewWillAppear:控制器的view将要显示

viewWillLayoutSubviews:控制器的view将要布局子控件

viewDidLayoutSubviews:控制器的view布局子控件完成

这期间系统可能会多次调用viewWillLayoutSubviews、viewDidLayoutSubviews俩个方法

viewDidAppear:控制器的view完全显示

viewWillDisappear:控制器的view即将消失的时候

这期间系统也会调用viewWillLayoutSubviews 、viewDidLayoutSubviews 两个方法

viewDidDisappear:控制器的view完全消失的时候

多个viewControllers跳转

当我们点击push的时候首先会加载下一个界面然后才会调用界面的消失方法initWithCoder:(NSCoder *)aDecoder:ViewController2 (如果用xib创建的情况下)

loadView:ViewController2

viewDidLoad:ViewController2

viewWillDisappear:ViewController1 将要消失

viewWillAppear:ViewController2 将要出现

viewWillLayoutSubviews ViewController2

viewDidLayoutSubviews ViewController2

viewWillLayoutSubviews:ViewController1

viewDidLayoutSubviews:ViewController1

viewDidDisappear:ViewController1 完全消失

viewDidAppear:ViewController2 完全出现

小结

整个控制器声明周期:viewDidLoad

viewWillAppear

viewWillLayoutSubviews

viewDidLayoutSubviews

viewDidAppear

viewWillDisappear

viewDidDisappear

二、非ARC环境下didReceiveMemoryWarning:

当app收到内存警告的时候会发消息给视图控制器。

app从来不会直接调用这个方法,而是当系统确定可用内存不足的时候采取调用。

如果你想覆写这个方法来释放一些控制器使用的额外内存,你应该在你的实现方法中调用父类的实现方法。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值