美文网首页
ios gcd实现多个请求全部结束后刷新界面

ios gcd实现多个请求全部结束后刷新界面

作者: 紫释沐沐 | 来源:发表于2019-03-08 13:51 被阅读0次

1.创建一个组

dispatch_group_t  group = dispatch_group_create();

2.在每一个请求前将这个请求加入这个group,并且在请求结束时将任务移出这个组

dispatch_group_enter(group); //以下代码加入这个组

//进行网络请求1

在请求结束的回调中执行dispatch_group_leave(group);//将这个任务移出group

dispatch_group_enter(group); //以下代码加入这个组

//进行网络请求2

在请求结束的回调中执行dispatch_group_leave(group);//将这个任务移出group

......

3.当所有的网络请求执行完毕,执行界面刷新操作

dispatch_group_notify(group, dispatch_get_main_queue(), ^{

NSLog(@"刷新界面");

 });

4.适用场景

(1)一个页面多个请求,不同模块间的刷新,高度存在变动,需完整获取所有请求结果方可刷新界面

(2)上传多张图片,按选择的顺序将图片有序上传

(3)商城详情页,图片没有固定高度,需下载完成才能获得图片大小,但页面显示需按传输顺序显示而非下载成功顺序等。

相关文章

网友评论

      本文标题:ios gcd实现多个请求全部结束后刷新界面

      本文链接:https://www.haomeiwen.com/subject/hhrrpqtx.html