iOS 懒加载不起作用的原因
在.m类中定义了一共strong属性,用懒加载getter方式去处理,发现用的时候无论如何属性都是null,调试后,发现根本没进getter方法。
(ps:懒加载,又称为延迟加载。说的通俗一点,就是在开发中,当程序中需要利用的资源时。在程序启动的时候不加载资源,只有在运行当需要一些资源时,再去加载这些资源。)
代码如下:
@property (nonatomic,strong) NSMutableArray *strongArray;
-(NSMutableArray *)strongArray{
if(_strongArray==nil){
_strongArray=[NSMutableArray array];
}
return _strongArray;
}
找了很久,突然发现是因为页面里调用的时候,用的_strongArray,所以不会走getter方法,改成self.strongArray就好了
记录一下。
原因分析:self.xxx会调用类的getter和setter方法,而如果直接用.xxx只是直接访问类的实例变量,而不会走getter内部了。