美文网首页iOS开发
OC中对懒加载的理解

OC中对懒加载的理解

作者: forvert | 来源:发表于2016-03-06 12:18 被阅读1967次

    懒加载

    • 本质是重写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方法中清理缓存,如果是懒加载的话,如果以后有的地方用到了该属性,还会再次顺利的加载出来;

    相关文章

      网友评论

        本文标题:OC中对懒加载的理解

        本文链接:https://www.haomeiwen.com/subject/erdakttx.html