为了账号安全,请及时绑定邮箱和手机立即绑定

UIViewController的生命周期

标签:
iOS


https://img3.sycdn.imooc.com/60fc0dea0001b52112800800.jpg

     关于UIViewController的生命周期,它大致可以分为两种情况。第一种是由storyboard或者xib创建的视图控制器的view,另一种则是代码创建的view。

       1.view是由xib创建,它会执行awakeFromNib方法,此方法是当xib或者storyboard加载完之后调用,此时nib文件中已经连线好的对象已经完成初始化,frame位置已固定。

    -(void)awakeFromNib

       2.loadView,此方法是创建视图控制器的view,当view为nil的时候会调用此方法,在此方法里如果没有正确的初始化view导致view=nil的话,执行下一步viewDidLoad且view也等于nil时,会发生死循环。

    -(void)loadView

        3.viewDidLoad,此方法是视图控制器将视图层次结构加载到内存之后调用,无论视图层次结构是从nib文件中加载还是从loadView方法里用代码实现都会执行此方法。

    - (void)viewDidLoad

        4.viewWillAppear,此方法通知视图控制器其视图即将添加到视图层次结构中。

    -(void)viewWillAppear:(BOOL)animated

        5.viewWillLayoutSubViews,此方法是通知视图控制器其视图将要布局它的子视图。

    -(void)viewWillLayoutSubviews

        6.viewDidLayoutSubViews,此方法是通知视图控制器其视图已经将它的子视图布局好。

    -(void)viewDidLayoutSubviews

        7.viewDidApperar,此方法是通知视图控制器其视图已经添加到视图层次结构中。

    -(void)viewDidAppear:(BOOL)animated

        8.viewWillDisAppear,此方法是通知视图控制器其视图将要从视图层次结构中删除。

    -(void)viewWillDisappear:(BOOL)animated

        9.viewDidDisAppear,此方法是通知视图控制器其视图已经从视图层次结构中删除。

    -(void)viewDidDisappear:(BOOL)animated

        10.didReceiveMemoryWarning,当应用收到内存警告时会调用此方法。

    -(void)didReceiveMemoryWarning

  

       下面是UIViewController的生命周去流程图:

          https://img1.sycdn.imooc.com/60fc0d380001e46408542435.jpg


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
移动开发工程师
手记
粉丝
0
获赞与收藏
0

关注作者,订阅最新文章

阅读免费教程

  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消