懒加载

项目中有时候有些数据,特别是数据比较多的时候,这时候可以不要写在viewdidload中

可以用懒加载加载数据,懒加载是在用到的时候加载,并且只加载一次。这样就不需要在进入界面的时候不加载很多内容在内存中,加载比较快,省内存。也就是想用的时候才去创建,不用的时候不创建。

本质就是重写get方法。

-(NSArray*)shops

{

if(_shops==nil) {

//加载plist数据

NSString*filePath = [[NSBundle mainBundle]pathForResource:@"shops"ofType:@"plist"];

self.shops= [NSArray arrayWithContentsOfFile:filePath];

}

return_shops;

}

_xxx  跟self.xxx 有不少,一个很重要的是self.xxx会调用set方法_xxx只是访问属性变量,不会去调用set方法。

所以注意这里!!!!  这里_shops 不能换成self.shops 否则出现死循环,因为这里self.shops

的话就是又去调用get方法 造成死循环,懒加载好用,但是一定要注意别写错了,小细节。

self.shops= [NSArray arrayWithContentsOfFile:filePath]; 这里又为什么可以用self.shops呢 ,难道不会造成死循环吗,这里是不会的这里是赋值操作,相当于

[selfsetShops:[NSArray arrayWithContentsOfFile:filePath]];

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容