什么是“懒加载”(Lazy Loading)?

“懒加载”也被叫作“延迟价值”,它的核心思想是把对象的实例化延迟到真正调用该对象的时候,这样做的好处是可以减轻大量对象在实例化时对资源的小号,而不是在程序初始化的时候就预先将对象实例化。另外“懒加载”可以将对象的实例化代码从初始化方法中独立出来,从而提高代码的可读性,以便于代码能够更好地组织。

最典型的一个应用“懒加载”的例子是在对象的getter方法中实例化对象,例如getter方法被重写,使得在第一次调用getter方法时才实例化对象并将实例化的对象返回,并且需要通过判断对象是否为空来防止对象重复实例化。“懒加载”的getter方法的实现模板如下所示。

/*getter*/
- (NSObject *)object {  
  if(!_object) {
    _object = [[NSObject alloc]init];
  }
  return _object;
}

 

你可能感兴趣的:(iOS开发基础知识)