懒加载概念
懒加载即延时加载,即当对象需要用到的时候再去加载。其实就是重写对象的get方法,当调用对象的get方法时,再去加载对象。
懒加载的好处
- 不需将对象的实例化写到viewDidLoad,可以简化代码,增强代码的可读性,viewDidLoad内容不会显得特别多
- 对象的实例化在getter方法中,各司其职,降低耦合性
- 对系统的内存占用率会减小
懒加载的例子
当我们需要在view里面添加一个UIButton的时候,我们的代码可以这么写:
将相关代码都写进viewDidLoad方法中是可以的,但是,我们的应用中,有些view可能包含很多控件,因此会导致viewDidload中的代码片段可读性不好。因此我们可以采用懒加载的方法:
这样,viewDidload就比较好理解了,就是添加了一个UIButton。
好了,有人可能遇到过懒加载失败的情况,这是因为你的代码有问题,如果你的懒加载代码是这样的:
这么写既没有警告,也没有报错,但是就是不会加载出UIButton。
好了,下面就是干货时间:
1: 重写get方法的时候,需要先判断对象当前时候为空,为空就去实例化对象,
所以懒加载中会出现 if(!_btnLazyLoading)这个判断
2: 懒加载不成功的是因为 self.btnLazyLoading 相当于 [self btnLazyLoading] ,在Getter方法内部不要使用 Getter,使用 _btnLazyLoading
su
1111111