zoukankan      html  css  js  c++  java
  • supersr--控制器的生命周期:

    调用顺序为

    1 init函数(init;initWithFrame;initWithCoder;等)--初始化

    2 awakeFromNib--在loadView之前的工作放在这里

    3 viewDidLoad--注意,一个ViewController一个生命周期内这个函数只会调用一次

    4 viewWillAppear -- view将要出现,每次View消失再出现都会调用

    5 viewWillLayoutSubviews--简要对子试图进行布局

    6 viewDidLayoutSubivews--完成对子试图布局

    7 viewDidAppear--视图将要出现在屏幕上

    ---上述代码不含部分

    8 viewWillDisappear--View将要消失

    9 viewDidDisappear--View已经消失

     
    这九个就是通常的视图控制器生命周期内函数调用顺序,一定要清楚什么样的代码应该放在视图控制器生命周期的什么位置
     

    当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序

    1、 alloc                                   创建对象,分配空间

    2、init (initWithNibName) 初始化对象,初始化数据

     
    3、loadView                          从nib载入视图 ,通常这一步不需要去干涉。除非你没有使用xib文件创建视图
     loadView :总结一句话,苹果设计这个方法就是给我们自定义UIViewController的view用的
     
    4、viewDidLoad                   载入完成,可以进行自定义数据以及动态创建其他控件

        1.什么时候被调用?

         无论你是通过xib文件还是重写loadView方法创建UIViewController的view,在view创建完毕  后,最终都会调用viewDidLoad方法
         2.有什么作用?
         一般我们会在这里做界面上的初始化操作,比如往view中添加一些子视图、从数据库或者网络加载模型数据装配到子视图中。

    5、viewWillAppear              视图将出现在屏幕之前,马上这个视图就会被展现在屏幕上了

    6、viewDidAppear               视图已在屏幕上渲染完成

    当一个视图被移除屏幕并且销毁的时候的执行顺序,这个顺序差不多和上面的相反

    1、viewWillDisappear            视图将被从屏幕上移除之前执行

    2、viewDidDisappear             视图已经被从屏幕上移除,用户看不到这个视图了

    3、dealloc                                 视图被销毁,此处需要对你在init和viewDidLoad中创建的对象进行释放
     
    一定要弄清 initWithFrame、initWithCoder、awakeFromNib  这三个方法都是在什么情况下调用
            *initWithFrame 通过代码创建控件会执行
            *initWithCoder、awakeFromNib 是通过xib加载控件会执行
            *initWithCoder 可以在这个方法里面添加子控件。在此方法里面设置原有子控件一次性的值是"不行的-->> 归档解档 
            *awakeFromNib 代表子控件从xib里面加载完成并且 连线完成-->直接可以使用
        
     
  • 相关阅读:
    TCP 协议如何解决粘包、半包问题 转载:https://mp.weixin.qq.com/s/XqGCaX94hCvrYI_Tvfq_yQ
    [国家集训队]happiness
    CF592D Super M
    [APIO2010]巡逻
    [NOI2012]美食节
    [JSOI2008]Blue Mary的旅行
    [十二省联考2019]D1T2字符串问题
    [十二省联考2019]D2T2春节十二响
    [十二省联考2019]D1T1异或粽子
    [WC2008]游览计划
  • 原文地址:https://www.cnblogs.com/supersr/p/4823531.html
Copyright © 2011-2022 走看看