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内部了。

原文地址:https://www.cnblogs.com/yajunLi/p/5364669.html