У нас есть функция, как это в быстром 2.2 для печати сообщения журнала с текущей запущенной темой:Как получить текущее имя очереди в быстрых 3
func MyLog(_ message: String) {
if Thread.isMainThread {
print("[MyLog]", message)
} else {
let queuename = String(UTF8String: dispatch_queue_get_label(DISPATCH_CURRENT_QUEUE_LABEL))! // Error: Cannot convert value of type '()' to expected argument type 'DispatchQueue?'
print("[MyLog] [\(queuename)]", message)
}
}
Этого код больше не компилировать в стремительной 3.0. Как получить имя очереди сейчас?
Вопрос задан вопрос о том, как определить, где две нити одинаковы нить или нет: Check if on correct dispatch queue in Swift 3. В принятом ответе предлагается использовать setSpecific
для сопоставления «метки» с созданной очередью. Однако это не решает проблему, потому что мы хотим знать имя очереди. И очередь может не обязательно создаваться самим.
Возможный дубликат [Проверьте на правильной очереди отправки в Swift 3] (http://stackoverflow.com/questions/37952262/check-if-on-correct -dispatch-queue-in-swift-3) – ozgur