33 lines
890 B
Swift
33 lines
890 B
Swift
|
|
//
|
||
|
|
// ThreadExtension.swift
|
||
|
|
// GuruAnalyticsLib
|
||
|
|
//
|
||
|
|
// Created by 袁仕崇 on 17/02/23.
|
||
|
|
//
|
||
|
|
|
||
|
|
import Foundation
|
||
|
|
|
||
|
|
extension Thread {
|
||
|
|
var threadName: String {
|
||
|
|
if isMainThread {
|
||
|
|
return "main"
|
||
|
|
} else if let threadName = Thread.current.name, !threadName.isEmpty {
|
||
|
|
return threadName
|
||
|
|
} else {
|
||
|
|
return description
|
||
|
|
}
|
||
|
|
}
|
||
|
|
|
||
|
|
var queueName: String {
|
||
|
|
if let queueName = String(validatingUTF8: __dispatch_queue_get_label(nil)) {
|
||
|
|
return queueName
|
||
|
|
} else if let operationQueueName = OperationQueue.current?.name, !operationQueueName.isEmpty {
|
||
|
|
return operationQueueName
|
||
|
|
} else if let dispatchQueueName = OperationQueue.current?.underlyingQueue?.label, !dispatchQueueName.isEmpty {
|
||
|
|
return dispatchQueueName
|
||
|
|
} else {
|
||
|
|
return "n/a"
|
||
|
|
}
|
||
|
|
}
|
||
|
|
}
|