“懒加载”(lazy coding)也叫做“延迟加载”,其核心思想就是把对象实例化尽量延迟进行,直到真正用到的时候才进行实例化,这样做的好处,就是可以减轻大量对象在实例化时对资源的消耗,而不是程序初始化时就预先把所有对象初始化,另外“懒加载”可以把对象实例化的代码独立出来,从而提高代码可读性,以便代码能更好地被组织。
最典型的实例化,就是对象在getter方法中进行实例化的时候,例如getter方法被重写,使得第一次调用getter方法时,才实例化对象,被将实例化的对象返回,判断是否是第一次getter方法可以通过判断对象是否为空来实现。“懒加载”的getter方法实现模板如下:
/*getter*/
- (NSObject *)object
{
if(!_object){
_object = [[NSObject alloc] init];
}
return _object;
}