放在異步線程處理耗時操作,當(dāng)所有的才做執(zhí)行完畢時,回到主線程執(zhí)行界面更新或者提示,代碼如下:
? ? dispatch_group_t gt = dispatch_group_create();
? ? for(inti =0; i <10; i ++) {
? ? ? ? dispatch_group_async(gt, dispatch_queue_create(0, 0), ^{
? ? ? ? ? ? NSLog(@"====隊列里面上傳圖片的處理 %@",@(i));
? ? ? ? });
? ? }
? ? //當(dāng)group內(nèi)的block都執(zhí)行完畢時調(diào)用notify,當(dāng)group內(nèi)沒有未完成的block時,則立刻執(zhí)行此方法
? ? dispatch_group_notify(gt, dispatch_get_main_queue(), ^{
? ? ? ? NSLog(@"***隊列內(nèi)的東西執(zhí)行完畢返回到主線程");
? ? });
以上例子,做了10次log的動作,打印了執(zhí)行的順序,每個異步的操作會根據(jù)自己的耗時時間先后不確定順序去執(zhí)行,當(dāng)所有的執(zhí)行完畢時,會執(zhí)行dispatch_group_notify的block。