关于GCD使用详解,请看我的上一篇blog:http://www.cnblogs.com/xin-lang/p/6278606.html
前段时间遇到个需要异步下载,下载完成后再组合显示的东西。这里我采用了 dispatch_group_create()来实现。废话不多说,一言不合就上代码:
//创建GCD队列 dispatch_group_t group = dispatch_group_create();
dispatch_queue_t defaultQueue = dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, ); //执行异步加载
dispatch_group_async(group, defaultQueue, ^{
NSLog(@"异步下载1");
});
dispatch_group_async(group, defaultQueue, ^{
NSLog(@"异步下载2");
});
dispatch_group_async(group, defaultQueue, ^{
NSLog(@"异步下载3");
});
dispatch_group_async(group, defaultQueue, ^{
NSLog(@"异步下载4");
});
dispatch_group_async(group, defaultQueue, ^{
NSLog(@"异步下载5");
});
//组合图片
dispatch_group_notify(group, defaultQueue, ^{
NSLog(@"下载结束,开始组合,显示要回到主线程");
});