懒加载
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.