zoukankan      html  css  js  c++  java
  • IOS开发之UIController生命周期

    当一个视图控制器被创建,并在屏幕上显示的时候。 代码的执行顺序
    1、 alloc                                   创建对象,分配空间
    2、 loadView                          从nib载入视图 ,通常这一步不需要去干涉。除非你没有使用xib文件创建视图
    3、init (initWithNibName) 初始化对象,初始化数据
    4、viewDidLoad                   载入完成,可以进行自定义数据以及动态创建其他控件
    5、viewWillAppear              视图将出现在屏幕之前,马上这个视图就会被展现在屏幕上了
    6、viewDidAppear               视图已在屏幕上渲染完成

    当一个视图被移除屏幕并且销毁的时候的执行顺序,这个顺序差不多和上面的相反
    1、viewWillDisappear            视图将被从屏幕上移除之前执行
    2、viewDidDisappear             视图已经被从屏幕上移除,用户看不到这个视图了
    3、dealloc                                 视图被销毁,此处需要对你在init和viewDidLoad中创建的对象进行释放

    关于viewDidUnload :在发生内存警告的时候如果本视图不是当前屏幕上正在显示的视图的话, viewDidUnload将会被执行,本视图的所有子视图将被销毁,以释放内存,此时开发者需要手动对viewLoad、viewDidLoad中创建的对象释放内存。 因为当这个视图再次显示在屏幕上的时候,viewLoad、viewDidLoad 再次被调用,以便再次构造视图。

     
  • 相关阅读:
    ✨Synchronized底层实现---偏向锁
    🌞LCP 13. 寻宝
    ✨Synchronized底层实现---概述
    ⛅104. 二叉树的最大深度
    c++多线程之顺序调用类成员函数
    C++ STL实现总结
    C#小知识
    C#中HashTable和Dictionary的区别
    WPF的静态资源(StaticResource)和动态资源(DynamicResource)
    WPF之再谈MVVM
  • 原文地址:https://www.cnblogs.com/xzhios/p/4377291.html
Copyright © 2011-2022 走看看