getter方法中应该return _age而不是return self.age


- (NSArray *)infoArr {
    if (!_infoArr) {
        _infoArr = @[@{@"title":@"出团日期", @"routeName":@"线路名称一", @"time":@"2015/11/21", @"num":@"20", @"price":@"124.0", @"code":@"DAGSDSASA"},
                     @{@"title":@"余位", @"routeName":@"线路名称二", @"time":@"2015/11/21", @"num":@"34", @"price":@"234", @"code":@"TAGDFASFAF"},
                     @{@"title":@"价格", @"routeName":@"线路名称三", @"time":@"2015/11/21", @"num":@"12", @"price":@"634", @"code":@"GHGASDAS"},
                     @{@"title":@"团代号", @"routeName":@"线路名称四", @"time":@"2015/11/56", @"num":@"54", @"price":@"632", @"code":@"DAADSFAD"}];
    }
    return _infoArr;
}
像上面这种调用getter方法的加载方式就是懒加载了,这样当需要用到_infoArr的时候,就会调用[self infoArr]方法(既是getter方法),此时系统会去调用getter方法,然后在getter方法中获取数据的赋值,然后返回供使用(需要值得注意的地方就是在getter方法中不要使用self.infoArr, 因为self.infoArr会调用getter方法,造成死循环)。

作者:劉光軍_Shine
链接:https://www.jianshu.com/p/581f26ed06f8
來源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

猜你喜欢

转载自my.oschina.net/u/2519763/blog/1838883