OC中对懒加载的理解

懒加载

  • 本质是重写getter方法;
  • 用到时候再加载,而且只加载一次;

代码实例

// 以懒加载一个UIImageView控件为例
- (UIImageView *)imageView
{
    if (!_imageView) { // 这里是不可以写成self.imageView的;(因为这里是getter方法)
        _imageView = [[UIImageView alloc]init];// 这里可以写成self.imageView(因为这里是setter方法)
    }
    return _imageView;// 这里是不可以写成self.imageView的(因为这里是getter方法);
}

懒加载的好处

  • 懒加载体现了OC的延迟加载思想,什么时候用什么时候加载;
    cell中imageView属性, tabbar中item都是通过懒加载的方式实现的;
    
  • 懒加载可以打破对象彼此引用时,先后声明的限制;
  • 不必将创建的代码全部写在- (void)viewDidLoad方法中,增加了代码的可读性;
  • 每个属性的getter方法中分别负责各自的实例化处理,代码彼此之间的独立性强,耦合性低;
  • 只有到真正需要资源的时候才回去加载,节省了内存空间;
  • 当收到内存警告是,需要didReceviewMemoryWarning方法中清理缓存,如果是懒加载的话,如果以后有的地方用到了该属性,还会再次顺利的加载出来;
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,019评论 25 708
  • ———————————————回答好下面的足够了---------------------------------...
    恒爱DE问候阅读 1,753评论 0 4
  • 307、setValue:forKey和setObject:forKey的区别是什么? 答:1, setObjec...
    AlanGe阅读 1,577评论 0 1
  • 好友们一定对这些照片其中的几张还留有印象,这是我们高密二中2016.6.19日师生联谊会时我拍的珍贵时刻,情景再现...
    甜源阅读 1,943评论 0 0
  • 之所以会开始记录一些经历和感受 因为每天都会有不同的感动 礼物 每一个瞬间 太多想要留下来 希望之后自己每每读起来...
    天心觉心禧舍阅读 170评论 0 0