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里面加载完成并且 连线完成-->直接可以使用
        
     
  • 相关阅读:
    《UNIX环境高级编程》笔记--UNIX标准化及实现
    SPOJ1811最长公共子串问题(后缀自动机)
    一个leetcode解题报告类目,代码很简洁
    字符压缩题目
    求最佳会议地点
    实现树的横向指针
    lower_bound与upper_bound
    求到所有房子距离和最小的新房子
    增加限制条件的矩阵求和
    切分数组来得到一定的和
  • 原文地址:https://www.cnblogs.com/supersr/p/4823531.html
Copyright © 2011-2022 走看看