首页 > 代码库 > iOS开发--用户点击频繁,多个异步网络请求取消问题?
iOS开发--用户点击频繁,多个异步网络请求取消问题?
一、业务环境描述
当一个view同时添加两个tableView为subView的时候,两个tableView分别为mainTable和subTable。
当用户点击mainTable上的某一条数据时,再去发送网络请求subTable中的数据。
存在问题的地方:例如当用户在mainTable上频繁点击各条cell上面的数据时,会出现subTable中数据错乱问题。那么如何取消之前的网络请求呢???
注:网络请求为异步请求
二、解决方法 1.实例化一个AFHTTPRequestOperationManager对象
AFHTTPRequestOperationManager *manager = [[AFHTTPRequestOperationManager alloc] init];
2.调用POST方法,返回一个AFHTTPRequestOperation对象
AFHTTPRequestOperation *operation = [manager POST:urlStr parameters:param success:^(AFHTTPRequestOperation *operation, id responseObject) { } failure:^(AFHTTPRequestOperation *operation, NSError *error) { }];
3.判断operation对象是否已经实例化,如果是,就取消这个请求操作;如果否,就重新执行上面第1、2两步。
if (subTableOperation)// 如果已经有请求了,就直接取消掉。 { [subTableOperation cancel]; } // 请求不存在,重新实例化一个 subTableOperation = [APITool getSubTableListData:@"test" callBack:^(NSNumber *success, id response) { // 处理网络回调数据 和 reloadData }]; [subTableOperation start];
具体代码 : Demo_OperationOfCancel
转自:http://blog.5ibc.net/p/88308.html
iOS开发--用户点击频繁,多个异步网络请求取消问题?
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。