一个界面发多次网络请求(GCD使用)
来源:互联网 发布:手机天文望远镜软件 编辑:程序博客网 时间:2024/06/04 08:10
- (void)test
{
/*
先判断两个请求是否有依赖性,有的话就很简单了,在第一个请求回调后发送第二个请求。
如果两个请求没有依赖,但UI需要在两个请求完成后才能刷新,加个判断,如果两个请求完成就刷新。
如果都请求没有依赖性,界面也是分两部分展示请求下来的数据,那么请求完成一个就刷新界面一部分。
并不需要在上层直接调用GCD就能解决的问题。
*/
//这个是两个请求完成之后才刷新的
//http://125.35.11.32:8081/railway/index/indexjson
AFHTTPSessionManager *manager = [AFHTTPSessionManager manager];
manager.responseSerializer = [AFHTTPResponseSerializer serializer];
dispatch_group_t group =dispatch_group_create();
dispatch_group_enter(group);
[manager POST:@"" parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:responseObject options:NSJSONReadingMutableLeaves error:nil];
NSLog(@"%@",dict);
//处理数据
dispatch_group_leave(group);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError *_Nonnull error) {
NSLog(@"%@",error);
}];
dispatch_group_enter(group);
[manager POST:@"" parameters:nil progress:nil success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
NSLog(@"%@",responseObject);
//处理数据
dispatch_group_leave(group);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError *_Nonnull error) {
NSLog(@"%@",error);
}];
dispatch_group_notify(group,dispatch_get_main_queue(), ^{
//请求完成后的处理、
NSLog(@"完成");
});
}
- 一个界面发多次网络请求(GCD使用)
- 网络请求 多次请求
- 使用GCD 信号量来实现iOS 同步网络请求
- MVC界面请求多次的解决问题
- 使用AFN 进行多次循环网络请求,如何判断何时请求完成
- iOS 解决网络请求和界面刷新顺序问题(GCD信号量实现)
- 如果一个网络请求类可能用到多次,可不可以用单例设计模式实现?
- 如果一个网络请求类可能用到多次,可不可以用单例设计模式实现?
- Python发一个POST请求
- Python发一个GET请求
- storm中一个Bolt发emit多次相同类型消息
- GCD-两个网络请求同步问题
- GCD-两个网络请求同步问题
- android发网络请求工具类
- 关于lua中事件监听,多次请求网络的问题
- 批量发多次quickquery
- 请求地址 - 多次请求
- 使用AF的一个简单网络请求封装+ (instancetype)sharedInstance;
- linux学习网站
- python for循环的一些情况。
- 备份方式
- 【Darwin学习笔记】之RTSPSession点播流程
- tomcat配置文件server.xml详解
- 一个界面发多次网络请求(GCD使用)
- java并发编程
- JavaScript Date
- C++---从函数返回指针
- quartz卡死
- QT学习笔记(4):主窗口 MainWindow
- 斐波那契数列(Fibonacci)
- Android 6.0 权限申请方式
- 80C51常用头文件