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