美文网首页
lazy instantiation

lazy instantiation

作者: 津乐袁 | 来源:发表于2015-09-02 14:53 被阅读133次

    1.Lazy instantiation(懒加载)

          先说一下什么是懒加载吧。懒加载—也称为延迟加载,即在需要的时候才加载(效率低,占用内存小)。说的通俗一点呢,在开发的时候,当程序中启动的时候不加载资源,只有在运行当需要一些资源时,再去加载这些资源。从代码的可读性上考虑,一个臃肿的viewDidLoad方法可以被我们分散开,阅读的人可以清楚的看到addSubview有哪些;

    2. 那这个懒加载怎么写呢?

         (1)首先在.h中声明一个myLabel

         (2)在.m中,实现myLabel的getter方法

         ({...})写法是什么鬼,它的学名是小括号内联复合表达式,来自《gcc官方对此的说明》,源自gcc对c的扩展,如今被clang继承;

         (3)加载myLabel

         在这里一定要用self.myLabel,在这里不用过多解释,大家应该都知道为什么;

          以上就是对于Lazy instantiation(懒加载)的理解,以及简单的使用,苹果官方有一篇关于名为LazyTableImages的demo不错,大家可以借鉴;这是苹果公司提倡的做法。其实苹果公司做的IOS系统中很多地方都用到了懒加载的方式,比如控制器的View的创建。

         

          代码也是一件艺术品,当其他同行阅读你的代码感觉又臭又长的时候,要好好反省自己的作品,有时间一定多review,养成一个好习惯,每一个模块都要雕刻的精细。

    相关文章

      网友评论

          本文标题:lazy instantiation

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