iOS多个网络请求完成后执行下一步
iOS多个网络请求完成后执行下一步
使用GCD的DispatchGroup实现
每次进入异步任务前都要调用enter方法,完成后执行leave,enter和leave都是成对存在,如果enter和leave次数不是一一对应,group就不会销毁。
let group = DispatchGroup()for i in 0..<10 { // 创建异步任务 let task = DispatchQueue.init(label: "this is \(i) queue") // 进入标记 group.enter() task.async { sleep(1) // 打印信息 print("i \(i), current thread: \(Thread.current)") // 退出 group.leave() }}group.notify(queue: DispatchQueue.m ...