懒加载,英文名LazyLoad。也称为延迟加载,即在需要的时候才加载(效率低,占用内存小)。所谓懒加载,写的是其get方法。
- 不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强。
- 每个控件的getter方法中分别负责各自的实例化处理,代码彼此之间的独立性强,松耦合。
- 一定要先判断是否存在。
下面是示例代码
@interface ViewController () <CLLocationManagerDelegate>
@property (nonatomic,strong) CLLocationManager *locMgr;
@end
- (void)viewDidLoad {
[super viewDidLoad];
// 开始定位
[self.locMgr startUpdatingLocation];
}
- (CLLocationManager *)locMgr{
if (!_locMgr) { //判断是否为空
self.locMgr = [[CLLocationManager alloc] init];
// 设置代理
self.locMgr.delegate = self;
[self.locMgr requestAlwaysAuthorization];
}
return _locMgr;
}
@property (nonatomic,strong) CLLocationManager *locMgr;
@end
- (void)viewDidLoad {
[super viewDidLoad];
// 开始定位
[self.locMgr startUpdatingLocation];
}
- (CLLocationManager *)locMgr{
if (!_locMgr) { //判断是否为空
self.locMgr = [[CLLocationManager alloc] init];
// 设置代理
self.locMgr.delegate = self;
[self.locMgr requestAlwaysAuthorization];
}
return _locMgr;
}