单个页面多个网络请求的情况,需要监听所有网络请求结束后刷新UI

dispatch_group_t group = dispatch_group_create();

dispatch_queue_tserialQueue = dispatch_queue_create("com.wzb.test.www", DISPATCH_QUEUE_SERIAL);


 dispatch_group_enter(group); 

 dispatch_group_async(group, serialQueue, ^{

// 网络请求一

[WebClick getDataSuccess:^(ResponseModel *model) { dispatch_group_leave(group); } failure:^(NSString*err) { dispatch_group_leave(group); }];

 }); 

 dispatch_group_enter(group); dispatch_group_async(group, serialQueue, ^{

// 网络请求二

[WebClick getDataSuccess:getBigTypeRM onSuccess:^(ResponseModel *model) { dispatch_group_leave(group); } failure:^(NSString*errorString) { dispatch_group_leave(group); }];

 }); 

 dispatch_group_enter(group);

 dispatch_group_async(group, serialQueue, ^{

// 网络请求三

[WebClick getDataSuccess:^{ dispatch_group_leave(group); } failure:^(NSString*errorString) { dispatch_group_leave(group); }];

 });

// 所有网络请求结束后会来到这个方法

dispatch_group_notify(group, serialQueue, ^{dispatch_async(dispatch_get_global_queue(0,0), ^{dispatch_async(dispatch_get_main_queue(), ^{

// 刷新UI

}); }); });

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容