- (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(@"完成");
});
}
新聞熱點
疑難解答