• viewDidLoad、loadView


    一、loadView
    永远不要主动调用这个函数。view controller会在view的property被请求并且当前view值为nil时调用这个函数。如果你手动创建view,你应该重载这个函数,且不要在重载的时候调用[super loadview]。如果你用IB创建view并初始化view controller,那就意味着你使用initWithNibName:bundle:方法,这时,你不应该重载loadView函数。
    这个方法系统的默认实现是这样:
    1.寻找有关可用的nib文件的信息,根据这个信息来加载nib文件 //所以,nib的加载过程是在loadview中完成的哦。
    2.如果没有有关nib文件的信息,默认创建一个空白的UIView对象,然后把对象成赋值给view controller的主view。

    - (void)loadView {
        UIView *view = [[UIView alloc] initWithFrame:[UIScreen mainScreen].applicationFrame];
        self.view = view;
        // 向view插入子视图等初始化操作
    }

    二、viewDidLoad
    这个函数在controller加载了相关的views后被调用,而不论这些views存储在nib文件里还是在loadView函数中生成。
    这个函数的作用主要是让你可以进一步的初始化你的views。
    viewDidLoad通常负责的是view及其子view被加载进内存之后的数据初始化的工作,即视图的数据部分的初始化

    三、所以流程应该是这样
    loadView来加载view(无论nib文件或自定义的views)到内存 ——>viewDidLoad函数进一步初始化这些view (通常是侧重于数据data的初始化)

  • 相关阅读:
    NetCore
    OAuth授权
    Vue混入:全局混入
    Vue作用域插槽:用作循环结构的模版
    Vue作用域插槽:基本用法
    Effect Hook
    State Hook
    表单组件中state依赖props
    Vue自定义指令
    Vue访问子组件实例或子元素
  • 原文地址:https://www.cnblogs.com/mobilefeng/p/4542681.html
Copyright © 2020-2023  润新知