懒加载
- 有时候使用懒加载,是在使用时候才去调用获取,是在getter方法,这时调用记得用self.成员属性(等号右侧),不要用_成员属性
- (NSArray *)shops
{
if (_shops == nil) {
NSString *file = [[NSBundle mainBundle] pathForResource:@"shops" ofType:@"plist"];
self.shops = [NSArray arrayWithContentsOfFile:file];
}
return _shops;
}
- 用不到不去加载,当用到时再去加载,只加载一次
- 网络数据用懒加载
- 有些控件开始的时候不显示,当满足一定的条件后用到时才会显示
- view封装的时候.里面的控件可以使用懒加载(放在控件的getter方法中)
- (UIImageView *)imageView
{
if (_imageView == nil) {
_imageView = [[UIImageView alloc]init];
[_imageView setBackgroundColor:[UIColor redColor]];
[self addSubview:_imageView];
}
return _imageView;
}
- (UILabel *)label
{
if (_label == nil) {
_label = [[UILabel alloc]init];
[_label setBackgroundColor:[UIColor blueColor]];
[self addSubview:_label];
}
return _label;
}