参考自:http://www.jianshu.com/u/5ef2046ade86
1、什么是懒加载
懒加载又称为延迟加载,它是指系统不会在初始化是就加载某个对象,而是在第一次调用(使用 get 方法)时才加载这个对象到内存,简单点儿说就是当对象被系统或者开发者需要用到的时候再去加载。它的实现方法实质上就是覆写该对象的 get 方法,并将该对象在初始化时需要实现的代码在 get 方法中实现。
2、使用懒加载的优点
1)不需要在 viewDidLoad 中实例化对象,简化代码,使结构清晰易懂,增强代码的可读性
2)对象的实例化在getter方法中,对象各司其职,降低代码耦合性
3)提升初始化加载速度,对系统的内存占用率会减小
4)减少内存占用
3、懒加载使用方法
- (NSArray *)specialServiceMArray{
if (_specialServiceMArray==nil) {
_specialServiceMArray = @[
@"image":@"introDitan.png",
@"image":@"introRecharge.png"
];
}
return _specialServiceMArray;
}
4、像上面这种调用getter方法的加载方式就是懒加载了,这样当需要用到_infoArr的时候,就会调用[self infoArr]方法(既是getter方法),此时系统会去调用getter方法,然后在getter方法中获取数据的赋值,然后返回供使用(需要值得注意的地方就是在getter方法中不要使用self.infoArr, 因为self.infoArr会调用getter方法,造成死循环)。