dispatch_group控制多個非同步介面
1.多個介面請求完成後重新整理UI
dispatch_group_t group_t = dispatch_group_create();
dispatch_group_async(group_t, dispatch_get_main_queue(), ^{
[weakSelf request1:group_t];
});
dispatch_group_async(group_t, dispatch_get_main_queue(), ^{
[weakSelf request2:group_t];
});
dispatch_group_notify(group_t, dispatch_get_main_queue(), ^{
[weakSelf.tableView reloadData];
});
2.dispatch_group_enter(group)、dispatch_group_leave(group)一一對應
- (void)request1:(dispatch_group_t)group_t {
WS(weakSelf)
dispatch_group_enter(group_t);
[manager GET:APIManager.share.baseUrl parameters:params progress:^(NSProgress * _Nonnull downloadProgress) {
progress(downloadProgress);
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
weakSelf.data1 = responseObject;
dispatch_group_leave(group_t);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
dispatch_group_leave(group_t);
}];
}
- (void)request2:(dispatch_group_t)group_t {
WS(weakSelf)
dispatch_group_enter(group_t);
[manager GET:APIManager.share.baseUrl parameters:params progress:^(NSProgress * _Nonnull downloadProgress) {
progress(downloadProgress);
} success:^(NSURLSessionDataTask * _Nonnull task, id _Nullable responseObject) {
weakSelf.data2 = responseObject;
dispatch_group_leave(group_t);
} failure:^(NSURLSessionDataTask * _Nullable task, NSError * _Nonnull error) {
dispatch_group_leave(group_t);
}];
}
相關文章
- 原生JS控制多個滾動條同步跟隨滾動JS
- extends多個介面
- GCD(三) dispatch_groupGC
- 非同步/同步,阻塞/非阻塞,單執行緒/多執行緒概念梳理非同步執行緒
- 同步非同步,阻塞非阻塞非同步
- 非同步、同步、阻塞、非阻塞非同步
- 同步、非同步、阻塞、非阻塞非同步
- 同步非同步 與 阻塞非阻塞非同步
- 理解阻塞、非阻塞、同步、非同步非同步
- 同步、非同步,阻塞、非阻塞理解非同步
- 同步、非同步、阻塞與非阻塞非同步
- 同步、非同步、阻塞和非阻塞非同步
- rsync排除多個檔案同步
- 透過一個示例形象地理解C# async await 非並行非同步、並行非同步、並行非同步的併發量控制C#AI並行非同步
- WebApi Swagger 介面多版本控制 適用於APP介面管理WebAPISwaggerAPP
- [轉]阻塞/非阻塞與同步/非同步非同步
- 同步與非同步 阻塞與非阻塞非同步
- 那些年搞不懂的多執行緒、同步非同步及阻塞和非阻塞(一)---多執行緒簡介執行緒非同步
- java同步非阻塞IOJava
- 非同步和非阻塞非同步
- 愛奇藝一鍵同步工具,一鍵同步多個平臺
- Flutter 多個版本切換控制Flutter
- 多個控制檔案的建立
- 同步、非同步、阻塞、非阻塞的區別非同步
- 深入理解GCD之dispatch_groupGC
- 搜狐號一鍵同步助手,多個賬號一鍵同步
- 非標準物件介面物件
- 那些年搞不懂的多執行緒、同步非同步及阻塞和非阻塞(二)---概念區分執行緒非同步
- 等待多個非同步任務的方法非同步
- 多個請求統一更新介面
- 徹底搞懂同步非同步與阻塞非阻塞非同步
- IO - 同步 非同步 阻塞 非阻塞的區別非同步
- 同步、非同步、阻塞、非阻塞的簡單理解非同步
- 同步與非同步、阻塞與非阻塞的理解非同步
- el-upload控制元件一次介面請求上傳多個檔案控制元件
- 最安全的hexo多臺電腦同步部落格解決方案--非新建分支Hexo
- 同步阻塞、同步非阻塞、多路複用的介紹
- 仿房產銷冠APP銷控表介面-多RecyclerView同步滾動APPView