iOS  并发请求数据,在两者都成功回调之后,刷新UI,求大神思路

现在有一个需求,俩个接口,要求两个接口都成功回调了,再刷新UI,求思路

阅读 3.8k
4 个回答
dispatch_group_t group = dispatch_group_create();
dispatch_group_enter(group);
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(1 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
    NSLog(@"first API got data");
    dispatch_group_leave(group);
});
dispatch_group_enter(group);
dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{
    NSLog(@"second API got data");
    dispatch_group_leave(group);
});

dispatch_group_notify(group, dispatch_get_main_queue(), ^{
   
    NSLog(@"UI refresh now");
});

设置两个标记位,每个接口回调时都将自己的标记位设成已回调,之后检查所有标记位的状态,如果都已经回调,则执行刷新UI的操作。

串行,第二个请求等第一个成功再请求。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题