iOS-懒加载

2023-11-22 09:05:23 浏览数 (2)

通俗一点就是用到时再加载,而且只加载一次,其实就是所谓的重写对象的get方法,当系统或者开发者调用对象的get方法时,再去加载对象。

实现: 重写get方法时,先判断对象当前是否为空,为空的话再去实例化对象

使用懒加载的好处:

  • 不必将创建对象的代码全部写在viewDidLoad方法中,代码的可读性更强
  • 每个控件的getter方法中分别负责各自的实例化处理,代码彼此之间的独立性强,松耦合
  • 对系统的内存占用率会减小
代码语言:javascript复制
@interface ViewController ()
@property (nonatomic,strong) NSArray *list;
@end

@implementation ViewController
-(NSArray *)list{
    if (!_list) {
        _list = [NSArray arrayWithContentsOfFile:[[NSBundle mainBundle] pathForResource:@"list" ofType:@"plist"]];
    }
    return _list;
}
@end

在懒加载中需要注意点语法和使用

  1. list在类中声明了一个属性
  2. list是在重写list的getter方法
  3. list不能用self.list,是因为!_list是个getter方法,若用getter访问会造成死循环
  4. list可以用self.list访问,这是个setter方法

0 人点赞