在项目开发中有时候需要把一些循环执行的异步操作加入到group中,让彻底循环完之后再进行下一步操作 创建一个组 //swift2.3: let group = dispatch_group_create() //swift3.0: let group = DispatchGroup() 循环加载数据 //swift2.3: for _ in array.count { //将当前的下载操作添加到组中 dispatch_group_enter(group) //在这里异步加载任务 //离开当前组 dispatch_group_leave(group) } //swift3.0: for _ in array { //将当前的下载操作添加到组中 group.enter() //在这里异步加载任务 //离开当前组 group.leave() } 全部加载完后通过闭包通知调用者 //swift2.3: dispatch_group_notify(group, dispatch_get_main_queue()) { () -> Void in //在这里告诉调用者,下完完毕,执行下一步操作 } //swift3.0: group.notify(queue: DispatchQueue.main) { //在这里告诉调用者,下完完毕,执行下一步操作 }