Как в Swift создать последовательную очередь с приоритетом фона с именем? - PullRequest
0 голосов
/ 14 июля 2020

Хорошо, я могу создать глобальную последовательную фоновую очередь, как это

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

}

, но я хочу, чтобы моя очередь имела имя. Поэтому я попробовал этот код, рекомендованный Apple (ха!):

let queueAttributes = dispatch_queue_attr_make_with_qos_class(DISPATCH_QUEUE_PRIORITY_BACKGROUND, QOS_CLASS_BACKGROUND, 0)
let videoQueue = dispatch_queue_create("videoQueue", queueAttributes);

Как и ожидалось, это не указывает на DISPATCH_QUEUE_PRIORITY_BACKGROUND с этой ошибкой

Cannot convert value of type 'Int' to expected argument type '__OS_dispatch_queue_attr?'

, очевидно, нажав на ошибку или поиск в Интернете не дает подсказок, а автозаполнение не дает никаких подсказок о том, что там разместить.

есть идеи?

1 Ответ

1 голос
/ 14 июля 2020

Вы можете использовать:

DispatchQueue(label: "name.of.your.queue")

или

let processingQueue = DispatchQueue(label: "your.queue", qos: .background,
                                    attributes: [],
                                    autoreleaseFrequency: .inherit,
                                    target: nil)

Обратите внимание, что DispatchQueue.Attributes является OptionSet, вы можете передать пустой [] или объединить в нем несколько значений.

...