iOS开发缓存的实际运用:避免多余的数据请求

来源:互联网 发布:自制搞笑视频软件 编辑:程序博客网 时间:2024/06/05 03:18

点击上方“iOS开发”,选择“置顶公众号”

关键时刻,第一时间送达!

什么是多余的数据请求?


如GIF所示:



“休闲食品”被点击了两次,两次都出现了loading也就是说两次都请求了数据。第二次请求数据就是多余的。


这里的流程是:


点击左边的cell,传一个id到后台,获取到数据后展示。


为避免多余的数据请求,我使用的解决方案是:


请求数据之前先在缓存数组中寻找缓存的model,如果有,就不请求数据,直接用缓存的,如果没有,再请求数据,并且将model放到缓存数组里。


1.需要一个用来缓存model的数组


/** 右边模块的model缓存数组 */

@property (nonatomic, strong) NSMutableArray *itemsModelArray;


2.请求数据前看看有没有缓存的,有就直接用


// 从缓存数组里找model,如果有就直接用

for (CQBoutiqueItemsModel *itemsModel in self.itemsModelArray) {

    if ([itemsModel.catID isEqualToString:model.ID]) {

        self.itemsView.model = itemsModel;

        return;

    }

}


//------- 请求数据  ------//


如何判断是否有缓存的model,我的方法是遍历缓存数组查看是否有model的id与传入的id一致的。


3.如果没有缓存的,请求数据,并缓存


//------- 请求数据完成  ------//


// 赋值model

self.itemsView.model = itemsModel;

// 放入缓存数组

[self.itemsModelArray addObject: itemsModel];


使用缓存后的效果如下:



只要是请求过的就不会再请求了。


注意:


刷新的时候记得清空缓存数组,要不然刷新就失去意义了。



  • 来自:无夜之星辰

  • 链接:http://www.jianshu.com/p/c8275969a9e6

  • iOS开发整理发布,转载请联系作者授权

【点击成为Android大神】

原创粉丝点击