iOS 多个异步请求,返回必要的数据后才更新UI,如何实现
dispatch_group_t group = dispatch_group_create();
dispatch_queue_t queue1 = dispatch_queue_create("12313", NULL);
dispatch_queue_t queue2 = dispatch_queue_create("4234234", NULL);
dispatch_queue_t queue3 = dispatch_queue_create("45678", NULL);
dispatch_group_async(group, queue1, ^{
for (NSInteger i = 0; i < 10000; i++) {
NSLog(@"1:%d",i);
}
});
dispatch_group_async(group, queue1, ^{
for (NSInteger j = 0; j < 10000; j++) {
NSLog(@"2:%d",j);
}
});
dispatch_group_async(group, queue2, ^{
for (NSInteger k = 0; k < 10000; k++) {
NSLog(@"3:%d",k);
}
});
dispatch_group_async(group, queue3, ^{
for (NSInteger z = 0; z < 10000; z++) {
NSLog(@"4:%d",z);
}
});
dispatch_group_notify(group, dispatch_get_main_queue(), ^{
for (NSInteger a = 0; a < 10000; a++) {
NSLog(@"最后:%d",a);
}
});
我猜是每个异步请求都会获取部分数据,所有异步请求完成过后,数据才是完整的,才能去显示UI 是吧。 可以设置一个标志位,每个请求成功加一,如果这个标志位等于请求的个数,则刷新UI。 不知道行不行
2 回答1.1k 阅读
1 回答1.2k 阅读✓ 已解决
1 回答2.8k 阅读
1 回答1.4k 阅读
1.7k 阅读
1 回答933 阅读
1 回答950 阅读
1.见发送10个网络请求,然后再接收到所有回应之后执行后续操作,如何实现?
2.见ios 想问一个很简单的异步问题