lazy instantiation

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,养成一个好习惯,每一个模块都要雕刻的精细。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 前言 2000年,伊利诺伊大学厄巴纳-香槟分校(University of Illinois at Urbana-...
    星光社的戴铭阅读 15,955评论 8 180
  • TITLE: 编程语言乱炖 码农最大的烦恼——编程语言太多。不是我不学习,这世界变化快! 有时候还是蛮怀念十几、二...
    码园老农阅读 5,367评论 2 35
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,269评论 25 708
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 12,229评论 4 61
  • 心情不怎么好,于是就出去逛逛,看见了很多的招聘要求,自己也进店问过,两家,他都不要兼职,妈呀!自己好像早点毕业啊...
    与习惯为友阅读 155评论 0 1