实现一个页面发多个网络请求的时候都有回调才去刷新UI界面。
dispatch_group_t group = dispatch_group_create();
dispatch_queue_t queue = dispatch_queue_create("queue", NULL);
dispatch_group_enter(group);
dispatch_async(queue, ^{
/// 模拟网络请求1
sleep(1);
dispatch_group_leave(group);
});
dispatch_group_enter(group);
dispatch_async(queue, ^{
/// 模拟网络请求2
sleep(1);
dispatch_group_leave(group);
});
dispatch_group_enter(group);
dispatch_async(queue, ^{
/// 模拟网络请求3
sleep(2);
dispatch_group_leave(group);
});
__weak ViewController *weakSelf = self;
dispatch_group_notify(group, queue, ^{
NSLog(@"reload UI ");
dispatch_async(dispatch_get_main_queue(), ^{
weakSelf.view.backgroundColor = [UIColor redColor];
});
});