zoukankan      html  css  js  c++  java
  • 懒加载

    懒加载

    1>  什么是懒加载?

    懒加载又称为延时加载,即在系统调用的时候加载,如果系统不调用则不会加载.所谓的懒加载其实就是重写其 get 方法.

    2>  特点:

    • 在使用懒加载的时候要先判断该方法是否已经存在,如果不存在则再进行实例化.
    • 在懒加载中不要使用 self. (而是使用 _ ),因为 self. 会调用getter 方法,造成死循环.

    3>  优点:

    • 不必将创建对象的方法都写在 viewDidLoad 里面,代码可读性更强.
    • 每个控件的getter 方法分别负责各自的实例化处理,独立性强,耦合性低.
    • 系统内存的占用少

    4>  使用对象:图片和控件等占用内存比较大的对象.

    数据类型的懒加载一般包括字典,数组,以及自定义的模型数据.

    5> 使用步骤:

    • 声明一个属性.该属性可以是私有属性也可以是在. h 文件中声明的属性.懒加载的对象是一个属性.
    • 在.m 中的 viewDidLoad外面重写懒加载,即重写其 getter 方法
    • 先判断 _对象 是否存在,如果不存在则,在 if 中实例化属性对象,并设置对象的属性,并添加其特有的方法
    • 返回 _对象

    6> 实例

        @property (nonatomic, strong)NSArray * array;

     

    使用get方法  进行懒加载

      - (NSArray *)array{

    //调用的时候需要判断,用! 来判断array存不存在  如果存在 则直接那么括号里面为假  直接返回一个数组  如果不存在 则进行初始化加载

        if (!_array){

          _array = [NSArray array];

        }

        return _array

      }

     

    在调用的时候用self.array调用  就会走懒加载的方法 在第一次加载的时候回初始化一次,之后再调用 的时候判断为假  就会直接返回一个_array.

  • 相关阅读:
    MarkDown测试
    在Tabbed Activity(ViewPager)中切换Fragment
    About ListView
    Android Studio的技巧
    卷积神经网络
    TensorFlow中CNN的两种padding方式“SAME”和“VALID”
    tensorflow-解决3个问题
    激活函数
    tensorflow数学运算
    tensorflow
  • 原文地址:https://www.cnblogs.com/xuan-yuan/p/5426782.html
Copyright © 2011-2022 走看看