zoukankan      html  css  js  c++  java
  • UIViewController的生命周期(根视图view从无到有的过程)

    UIViewController的生命周期实质上是指根视图view从无到有的过程

    1.首先新建一个工程:不从mainstoryBoard加载

    (删除入口) 

    在AppDelegate.m --> 

    - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions 方法中

    创建窗口

    在31行打上断点

    (图一)

    注意此时VC.view = nil;

     

    2.跳到下一个断点处(在ViewController.m 的 viewDidLoad方法中)

    (图二)

    此时的self.view有值了

     

    试图控制器的加载过程   就是说的view从无到有的过程

    ViewController.m中

     

     

    (图三)

    图二 中 ViewController *VC = [[ViewController alloc]init];执行后会跳到图三(打上断点)  ---->然后跳回到 图二 中的31行

     

     

     

    ViewController调用alloc init方法时会 自动调用到

    - (instancetype)initWithNibName:(NSString *)nibNameOrNil bundle:(NSBundle *)nibBundleOrNil  方法中

     

     

    重新运行到这里此时的view 还是nil                                                             |

                                                                                                              |

    还是在ViewController.m中 loadView被调用(注意:永远不要自己主动去调,系统自己调用) 调用条件:1.view 被访问  2.此时的view = nil  (如果AppDelegate中self.window.rootViewController被注释掉 就不会调用initWithNibName方法了)                                                                 

    执行过了29行view就会有值了                                                                   |

    然后再执行viewDidLoad方法                                                                  |/

     

     

     

     

     

  • 相关阅读:
    第二次团队介绍
    团队介绍
    随手记解决的问题
    iOS 接入支付 --- 支付宝支付
    GCD 以及设计模式
    iOS 小技巧总结
    tabBar 的上拉隐藏,上拉显示实现
    iOS开发---冷门小技巧
    iOS开发:盘点常用的几种设计模式 --(转自 liwei3gjob的专栏)
    OC --(9)-- 内存管理初级:内存管理的方式、引用计数机制,影响计数的各个方法、dealloc方法、内存管理的基本原则、掌握copy的实现
  • 原文地址:https://www.cnblogs.com/chillytao-suiyuan/p/4849414.html
Copyright © 2011-2022 走看看