-
在练习UITableView时使用懒加载老是nil才发现我忽略了一个基础性的错误,那就是_xxx和self.xxx的区别:当使用self.xxx会调用xxx的get方法而_xxx并不会调用,正确的使用个方式是通过self去调用才会执行懒加载方法
-(NSMutableArray *)sdImageArray{
if (!_sdImageArray) {
_sdImageArray = [[NSMutableArray alloc]init];
}
return _sdImageArray;
}
以上是我们重写sdImageArray的get方法当我们使用_sdImageArray调用数据时它并不会调用_sdImageArray的懒加载方法所以会一直nil;还有一点值得注意既然我们的self.sdImageArray是调用其get方法所以在判断时不能用self.sdImageArray来判断否为空,否则的话会陷入死循环。
}