iOS开发,懒加载
2016-09-20 本文已影响71人
林夕不昔
写在前面
这些是我学习iOS开发时做的笔记,以及工作中遇到的一些问题的解决方法,整理出来分享给大家,有些错误不要
太好笑,希望对大家有所帮助。大家有更好的解决办法也欢迎沟通交流。
一直以来都有写点儿东西的想法,就从笔记开始吧,加油!
什么是懒加载?
- 懒加载--比较懒的加载方式,需要的时候才加载,也称为延时加载。
- 所谓懒加载既是重写get方法,一定要注意
先判断是否已经有了
,如果没有再去进行实例化。
懒加载的好处
- 不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强。
- 每个控件的getter方法中分别负责各自的实例化处理,代码彼此之间的独立性强。
- 需要的时候才加载,用到的时候才加载,占用内存小。
实现方法
//数组的懒加载,重写其get方法
-(NSArray *)array {
//判断是否已经有了,若没有,则进行实例化
if (_array==nil)
{
NSString *path=[[NSBundle mainBundle] pathForResource:@"data" ofType:@"plist"];
_array=[[NSArray alloc]initWithContentsOfFile:path];
}
return _array;
}
/**控件的懒加载*/
-(UILabel *)lastlab {
//判断是否已经有了,若没有,则进行实例化
if (!_lastlab) {
_lastlab=[[UILabel alloc]initWithFrame:CGRectMake(20, 400, 300, 30)];
[_lastlab setTextAlignment:NSTextAlignmentCenter];
[self.view addSubview:_lastlab];
}
return _lastlab;
}