在Swift中创建GCD队列?

时间:2015-04-16 13:16:08

标签: ios swift grand-central-dispatch

我在Swift中创建GCD队列时遇到了崩溃,有什么想法吗?

var q: dispatch_queue_t?
q = dispatch_queue_create("com.kukodajanos.queryPlaces", 0)

enter image description here

4 个答案:

答案 0 :(得分:6)

通过alt +点击查看文档评论,您可以看到:

Image

在attr中你可以传递3件事:nil, DISPATCH_QUEUE_SERIAL and DISPATCH_QUEUE_CONCURRENT而不是Int。

答案 1 :(得分:5)

传递nil而不是0:

    var q: dispatch_queue_t?
    q = dispatch_queue_create("com.kukodajanos.queryPlaces", nil)

答案 2 :(得分:1)

据我所知,第二个参数是引用而不是整数,所以你应该传递nil而不是0

您是否有任何理由将变量声明为可选项?如果您打算在下一行分配,那么最好将其设为非可选项。另外,我猜你在其生命周期中不会改变它,所以最好让它变得不可变:

let q = dispatch_queue_create("com.kukodajanos.queryPlaces", nil)

答案 3 :(得分:0)

传递nil而不是0作为dispatch_queue_attr_t shoild做的伎俩。此外,该函数返回一个隐式解包的可选项,而不是一个可选的,是故意的吗?