【iOS开发】用户点击频繁,多个异步网络请求取消问题?
来源:互联网 发布:国外windows优化软件 编辑:程序博客网 时间:2024/04/28 11:55
一、业务环境描述
当一个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
新浪微博:Hanrovey
163邮箱 : Hanrovey@163.com
4 0
- 【iOS开发】用户点击频繁,多个异步网络请求取消问题?
- iOS网络开发:多个异步网络请求结束后再进行某些操作的方法
- iOS多个网络请求问题
- IOS开发之网络异步GET请求
- iOS开发中如遇到频繁的Http请求,如何取消之前已经发送的Http请求?
- iOS开发中如遇到频繁的Http请求,如何取消之前已经发送的Http请求?
- iOS开发中如遇到频繁的Http请求,如何取消之前已经发送的Http请求?
- ios网络异步请求
- IOS 异步 网络请求
- IOS ---网络异步请求
- ios异步网络请求
- iOS AFNetworking 取消网络请求
- iOS afnetwork取消网络请求
- IOS开发—网络请求之代理异步请求
- iOS开发:网络请求之get、post同步异步请求
- IOS开发之NSURL网络请求,同步异步,GET,POST
- iOS开发——post异步网络请求封装
- iOS开发——POST异步网络请求自行封装
- Codeforces Round #364 (Div. 2) C
- 【其它】医院百科
- 阿里云服务器centos6.5 配置
- 【其它】Coder专属的15个谜语 你能猜中几个?
- 暑期dp46道(17)--HDOJ1114 Piggy Bank 完全背包
- 【iOS开发】用户点击频繁,多个异步网络请求取消问题?
- HDU 1002 A + B Problem II
- 华为OJ——字符个数统计
- 多校赛第7场 hdu5818 Joint Stacks 双向链表
- 【iOS开发】UITableView 默认选择某行的方法
- Android之微信第三方登录
- C\C++中istringstream、ostringstream、stringstream 类介绍 .
- Python的编码注释# -*- coding:utf-8 -*-
- EasyPR--一个开源的中文车牌识别系统