lazy instantiation

2015-09-02  本文已影响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,养成一个好习惯,每一个模块都要雕刻的精细。

上一篇下一篇

猜你喜欢

热点阅读