定义
lazy属性就是初始值直到第一次使用的时候才执行计算的属性,这对小内存的手机所产生的性能上的优化是相当可观的。
注意:lazy属性必须是变量(var修饰符),因为常量属性(let修饰符)必须在初始化之前就有值,所以常量属性不能定义为lazy。
Objective-C中的延迟加载
Objective-C并没有在语法上支持延迟加载,通常是由程序员自己手动实现的。
示例如下:
@property (nonatomic, strong) NSArray *names;
- (NSArray *)names {
if (!_names) {
_names = [[NSArray alloc] init];
NSLog(@"只在首次访问输出");
}
return _names;
}
说明: