NSOperationQueue
класс имеет свойство underlyingQueue
, которое используется для установки очереди отправки, на которой будут выполняться экземпляры NSOperation
.Установка основной очереди в качестве базовой очереди для NSOperationQueue
let dispatchQueue = dispatch_queue_create("custom.queue", DISPATCH_QUEUE_SERIAL)
let opQueue = NSOperationQueue()
opQueue.underlyingQueue = dispatchQueue
Однако официальная документация гласит:
Значение этого свойства не должно быть значение, возвращенное
dispatch_get_main_queue
Кажется, что нет больше объяснений по этому вопросу от Apple. Однако использование основной очереди как underlyingQueue
не вызывает никаких ошибок и не приводит к нежелательному поведению. Каковы причины этого?
Если вы хотите использовать основную очередь, зачем вызывать 'dispatch_queue_create'? Просто используйте 'dispatch_get_main_queue'. – rmaddy
'dispatch_queue_create' используется только как пример того, как установить свойство' basicQueue'. Как видно из документации, 'dispatch_get_main_queue' не следует использовать в качестве базовой очереди. –