2016-06-14 1 views
3

나는 스위프트 2에서 같은 코드를 가지고 : dispatch_queue_attr_make_with_qos_classdispatch_queue_create 사용할 수 없기 때문에Swift 3에서 QoS 속성을 사용하여 dispatch_queue를 만드는 방법은 무엇입니까?

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) 

이것은, 스위프트 3 컴파일되지 않습니다. 맞춤 QoS 클래스로 직렬 대기열을 만들려면 어떻게해야합니까?

+2

난 당신이로 실행하는 문제를 문서화하는 데 시간이 걸릴 것으로 주셔서 감사합니다. 나는 항상 당신의 자료를 가지고 다닌다. – Alexander

+0

@AMomchilov 나는 그것이 도움이되어 정말 기쁩니다 :) – jtbandes

답변

6

DispatchQueue은 이제 class으로, init(label:attributes:target:) 이니셜 라이저를 사용할 수 있습니다. 속성은 이제 DispatchQueueAttributes이라는 OptionSet이며 인스턴스는 .serial.qosUtility입니다.

함께 퍼팅 :

let myQueue = DispatchQueue(label: "com.example.serial-queue", 
          attributes: [.serial, .qosUtility]) 
+3

Swift 3 (XCode 8 Beta 6)을 테스트 한 마지막 버전에서,이 선언은 "Type" DispatchQueue.Attributes '에는'serial '멤버가 없습니다. " 직렬 큐가되도록 강제하는 방법에 대한 아이디어가 있습니까? – nbloqs

+3

시리얼이 기본값입니다. – jtbandes

관련 문제