ios - 网络请求数据重复的可能
本文介绍了ios - 网络请求数据重复的可能的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
看代码:
#viewDidLoad
[self getActivityListFromNetwork];
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(refreshActivityListFromNetwork)
name:@"backRefresh"
object:nil];
#refreshActivityListFromNetwork
- (void)refreshActivityListFromNetwork{
[self.dataArray removeAllObjects];
[self getActivityListFromNetwork];
[self.mainTableView headerEndRefreshing];
}
问题是:如果注销后重新登录的话会有一定概率出现重复数据。
分析原因是点击登录后,页面加载执行了getActivityListFromNetwork这个方法。这时候去请求数据。在没有返回数据前执行了refreshActivityListFromNetwork又一次去请求了数据。导致两次请求获得的数据都加载出来了。。。
解决方案
在每次数据请求成功后执行 removeAllObjects 和 reloadData 即可,另外最好给你的网络请求方法相应的缓存机制,没有新的数据时,无需更新数据源。
这篇关于ios - 网络请求数据重复的可能的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文