多线程上传多张图片统一处理结果
同时上传多张图片到图片服务器,拿到返回id
后再统一做处理
dispatch_group_t group = dispatch_group_create();
dispatch_group_enter(group);
NSLog(@"dispatch_group_enter Q 1");
// 图片并行执行的线程一
[[DataEngine sharedInstance] uploadAvatarImage:self
image:_uploadImage
onComplete:
^(NSDictionary *sourceDic, NSInteger errorCode, NSString *errorMsg, BOOL hasMore, id otherData) {
if (errorCode == RequestErrorCodeSuccess) {
NSString * url = [sourceDic stringForKey:@"localUrl"];
weakself.uploadUrl = url;
DDLogWarn(@" 第一张 //上传成功 %@",url);
}
dispatch_group_leave(group);
}];
// 图片并行执行的线程二
...
dispatch_group_notify(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
}
dispatch_group_enter(group)
和 dispatch_group_leave(group)
可以很好的控制处理时机,在网络请求本身异步的情况下
想要使用dispatch_group_notify
必须处理好网络请求的block着陆点才有效果