懒加载注意事项

@property (strong,nonatomic) NSMutableArray *helps;
-(NSMutableArray *)helps{
 
    if (_helps == nil) { 
        //得到文件路径
        NSString *path = [[NSBundle mainBundle] pathForResource:@"help" ofType:@"json"];
        //使用NSData来接受数据
        NSData *data = [NSData dataWithContentsOfFile:path];
        //得到字典数组,第二个参数枚举值表示加载出来的数组是可变的
        NSArray *helpArray = [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:NULL];
 
        _helps = [NSMutableArray new];
        for (NSDictionary *dic in helpArray) {
            //将字典数组转换成模型数组
            DYHelp *help = [[DYHelp alloc] initWithDic:dic];
            //将模型存入到属性中
            [_helps addObject:help];
        }
    }
    return _helps;
}

注意点:

  • 懒加载中if(_helps) 必须是_helps,不可以写成self.helps 同理retun _helps,使用self.helps会造成死循环
  • 调用helps数据时必须使用self.helps才会执行get方法(懒加载),如果是_helps则不会执行
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容