Swift队列组group的使用

2022-08-10  本文已影响0人  奋斗的遗忘人

需求:如若详情页面有多个请求,需要所有的请求都请求完成,再同意进行刷新界面那么就需要使用队列组进行控制, 代码如下:

//创建队列组常量(这是个全局常量)
 private let group = DispatchGroup()

下面可以定义一个方法
//创建队列
 let queue = DispatchQueue.global()
//利用队列组的enter()和leave()方法进行控制队列的执行顺序
self.group.enter()
//创建异步请求队列
queue.async {[unowned self] in
           //这里进行数据的异步请求,在请求成功和失败的方法中进行leave()操作
          self.group.leave() //不管成功与否都要leave()操作,方便后面的请求继续进行
        }
self.group.enter()
queue.async {[unowned self] in
          self.group.leave()
        }
 //请求完成主线程刷新UI界面
group.notify(queue: DispatchQueue.main) {[unowned self] in
            self.tableView.reloadData()
        }
上一篇 下一篇

猜你喜欢

热点阅读