前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >iOS-懒加载

iOS-懒加载

作者头像
xy_ss
发布2023-11-22 09:05:23
1100
发布2023-11-22 09:05:23
举报
文章被收录于专栏:浮躁的喧嚣

通俗一点就是用到时再加载,而且只加载一次,其实就是所谓的重写对象的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方法
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2018-11-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档