放在异步线程处理耗时操作,当所有的才做执行完毕时,回到主线程执行界面更新或者提示,代码如下:
dispatch_group_t gt = dispatch_group_create();
for(inti =0; i <10; i ++) {
dispatch_group_async(gt, dispatch_queue_create(0, 0), ^{
NSLog(@"====队列里面上传图片的处理 %@",@(i));
});
}
//当group内的block都执行完毕时调用notify,当group内没有未完成的block时,则立刻执行此方法
dispatch_group_notify(gt, dispatch_get_main_queue(), ^{
NSLog(@"***队列内的东西执行完毕返回到主线程");
});
以上例子,做了10次log的动作,打印了执行的顺序,每个异步的操作会根据自己的耗时时间先后不确定顺序去执行,当所有的执行完毕时,会执行dispatch_group_notify的block。
网友评论