对于UI控件学习的总结(一):懒加载
来源:互联网 发布:网络女主播六间房 编辑:程序博客网 时间:2024/05/20 07:37
自己研究了这么长时间,觉得应该写一些东西出来,对与别人或者自己在以后想看的时候,能够有帮助。
废话不多说,下面我们就看一下iOS中的懒加载到底是怎么一回事
懒加载:
1、基本定义:
延时加载,即当对象需要用到的时候再去加载。其实就是所谓的重写对象属性的getter方法,当系统或者开发者调用对象的getter方法时,再去加载对象。(注意:在重写getter方法时,先要判断当前的对象是否为空,如果为空的话再去实例化对象
)
2、懒加载的优势:
首先,懒加载并不需要在viewDidLoad中去实例化对象,从而减少了代码的冗余性,增强代码的可读性
其次,懒加载对象的实例化是在getter方法中,降低了代码的耦合性
最后,懒加载降低了对于系统内存的占用率(最常见的懒加载对象:self.view)
3、代码展示
//懒加载:在合适的地方创建//重写getter方法//一旦使用懒加载,程序中所有使用到这个属性,都要使用getter方法-(NSMutableDictionary *)dataDict{ //注意 :在懒加载中需要使用getter方法的地方都使用实例变量 if (_dataDict == nil) { //使用setter方法的时候,就使用self self.dataDict = [NSMutableDictionary dictionary]; [self makeData]; } return _dataDict;}
//正常写法(非懒加载)//用于对比懒加载@interface ViewController ()@property (nonatomic, strong) NSMutableDictionary *dataDict;@end@implementation ViewController- (void)viewDidLoad { [super viewDidLoad]; self.dataDict = [NSMutableDictionary dictionary];}@end
4、对于懒加载的使用的注意事项
我们习惯于把一个控件作为懒加载对象,而对于容器类尽量不要作为懒加载对象。
0 0
- 对于UI控件学习的总结(一):懒加载
- android 总结学习 简单的UI控件
- iOS UI控件学习---swift(一)
- 对于hints index() 的学习 (一)
- 对于hints index() 的学习 (一)
- UI控件笔记(一):UI之UIView的属性
- java Swing中对于JList控件的使用(一)
- cocos2d-C++ 学习UI控件(一)之 Button|CheckButton
- 对于异常的学习总结
- 对于第一阶段学习的总结
- ios学习第五天(七)UI控件总结
- mvc3.0学习总结(一)控件
- 对于矩阵类型的一些算法的总结(一)
- 对于图的储存的总结(一)
- UI基础控件(一)
- Android动态加载学习总结(一):类加载器
- UI控件学习总结和笔记
- 对于propertygrid控件的学习网址
- sicily 1310. Right-Heavy Tree
- UVA 10601 Cubes (组合数学 + ploya计数)
- LeetCode237:Delete Node in a Linked List
- PagedView的原理 – 滑动
- java程序员第十六课 -MySQL数据库(多表的查询)
- 对于UI控件学习的总结(一):懒加载
- LeetCode:Contains Duplicate II
- (Handler+Message+Looper+MessageQueue)源码分析
- svn历史版本操作说明
- 歪打正着;屏蔽网页里的输入;
- Principal component analysis
- POJ 4083 我爱北大
- [github]github实战 for mac
- Objective-C tips