继续浏览精彩内容
慕课网APP
程序员的梦工厂
打开
继续
感谢您的支持,我会继续努力的
赞赏金额会直接到老师账户
将二维码发送给自己后长按识别
微信支付
支付宝支付

UIViewController的生命周期

Promised14
关注TA
已关注
手记 1
粉丝 0
获赞 0


http://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的生命周去流程图:

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


打开App,阅读手记
0人推荐
发表评论
随时随地看视频慕课网APP