多線程上傳多張圖片統(tǒng)一處理結(jié)果
同時上傳多張圖片到圖片服務器,拿到返回id
后再統(tǒng)一做處理
dispatch_group_t group = dispatch_group_create();
dispatch_group_enter(group);
NSLog(@"dispatch_group_enter Q 1");
// 圖片并行執(zhí)行的線程一
[[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);
}];
// 圖片并行執(zhí)行的線程二
...
dispatch_group_notify(group, dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_HIGH, 0), ^{
}
dispatch_group_enter(group)
和 dispatch_group_leave(group)
可以很好的控制處理時機讨韭,在網(wǎng)絡請求本身異步的情況下
想要使用dispatch_group_notify
必須處理好網(wǎng)絡請求的block著陸點才有效果