懒加载

懒加载

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.

原文地址:https://www.cnblogs.com/xuan-yuan/p/5426782.html