使用场景举例:
一个tableView的数据源由多个网络请求到的数据组合而成, 当所有网络请求结束之后才需要刷新tableView
使用gcd 中的group方法实现:
// 创建gcd group
dispatch_group_t serviceGroup = dispatch_group_create();
for (NSInteger i = 1; i < 5; i++) {
// 将任务放入 group中
dispatch_group_enter(serviceGroup);
// 网络任务
// 在block中将任务移出group
dispatch_group_leave(serviceGroup);
}
dispatch_group_notify(serviceGroup, dispatch_get_main_queue(), ^{
// 任务全部完成处理
NSLog(@"完成");
});
本文介绍了一种使用Grand Central Dispatch (GCD)中的group方法来同步处理多个网络请求,确保所有请求完成后刷新UITableView的实现方式。通过在主线程中通知处理任务完成,确保了UI操作的正确执行顺序。
1258

被折叠的 条评论
为什么被折叠?



