如何在Swift 2.0中使用dispatch_queue_create?

时间:2015-08-10 06:56:49

标签: swift2

在swift 1.2中,创建一个如下所示的调度队列:

dispatch_queue_create("imageProcessingQueue", DISPATCH_QUEUE_SERIAL)

但是在swift 2.0中,它有一个错误:

 Cannot invoke 'dispatch_queue_create' with an argument list of type '(String, dispatch_queue_attr_t!)'

dispatch_queue_create需要UnsafePointer<Int8>类型,我该怎么做呢。

2 个答案:

答案 0 :(得分:11)

分配到lazy var时,我也遇到了这个问题。我能够通过向我的变量显式添加一个类型来绕过错误:

lazy var myQueue: dispatch_queue_t = dispatch_queue_create("imageProcessingQueue", DISPATCH_QUEUE_SERIAL)

答案 1 :(得分:1)

错误消息令人困惑。它很可能源自此代码周围的一些代码(很可能紧接在此之前)。

要验证,请创建一个新的Playground并运行它 - 它编译时没有错误:

import Foundation
let queue = dispatch_queue_create("label", DISPATCH_QUEUE_SERIAL)