我在Swift 2中有这样的代码:
let attrs = dispatch_queue_attr_make_with_qos_class(DISPATCH_QUEUE_SERIAL, QOS_CLASS_UTILITY, 0)
let myQueue = dispatch_queue_create("com.example.serial-queue", attrs)
这不会在Swift 3中编译,因为dispatch_queue_attr_make_with_qos_class
和dispatch_queue_create
不可用。如何使用自定义QoS类创建串行队列?
答案 0 :(得分:7)
DispatchQueue
现在是class
,您可以使用其init(label:attributes:target:)
初始值设定项。这些属性现在是名为DispatchQueueAttributes
的OptionSet,其实例为.serial
和.qosUtility
。
把它放在一起:
let myQueue = DispatchQueue(label: "com.example.serial-queue",
attributes: [.serial, .qosUtility])