懒加载
懒加载的原理
- 定义:延时加载,即当对象需要用到的时候再去加载. 其实就是所谓的重写对象的get方法,当系统或开发者调用对象的get方法时,再去加载对象.
- 注意: 重写get对象时要先判断是否为空,为空的话再去实例化对象.
懒加载的优点
- 不必将对象的实例化代码全部写在viewdidload里,简化代码,增强代码可读性
- 对系统的内存占用率会减小
- 对象的实例化在getter方法中,各司其职,降低耦合性
//延迟加载
/**1.图片的序号标签*/
- (UILabel *)firstlab {
//判断是否有了,若没有,则进行实例化
if(!_firstlab) {
_firstlab = [UILabel alloc]initWithFrame:CGRectMake(20,10,300,30);
[_firstlab setTextAlignment:NSTextAlignmentCenter];
[self.view addSubview:_firstlab];
}
return _firstlab;
}
//array的get方法
- (NSArray *)array {
if (_array==nil) {
NSString *path=[[NSBundle mainBundle] pathForResource:@"data" ofType:@"plist"];
_array=[[NSArray alloc]initWithContentsOfFile:path];
}
return _array;
}
淡然;敬胜怠,义胜欲;知其雄,守其雌