Swift 2到3迁移dispatch_get_global_queue

时间:2016-09-28 10:04:57

标签: swift swift2 swift3 ios10 dispatch-async

我有以下代码,我一直试图从swift 2转换为swift 3.这是我到目前为止所做的。

DispatchQueue.async(group: DispatchQueue.global(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),execute: {
            self.controllerDelegate?.codeToRun(progressWindowViewController: self)
        })

我收到一条错误消息,指出无法调用' global'使用类型(int,int)的参数列表。我知道全局队列需要这个,除非他们在swift 3中改变它吗? 在Swift 3中执行全局队列的正确方法是什么?

以前的Swift 2 Equivlent

dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0),{
            self.controllerDelegate?.codeToRun(self)
        })

2 个答案:

答案 0 :(得分:10)

试试这个它会起作用。

DispatchQueue.global(qos: .background).async {

    DispatchQueue.main.async {

    }
})

如果您仍然需要任何帮助,请随时在这里询问。

答案 1 :(得分:2)

实际上,对您的问题采用更简单,更简单的方法是:

DispatchQueue.global(qos: .default).async { ... }