我该如何使用DispatchQueue
类替换以下iOS的Swift 3代码?这是旧的Swift 3代码,最新的Xcode无法将其转换为Swift 5。
dispatch_async(dispatch_get_main_queue()) { () -> Void in
// code
}
它给我一个错误,提示
Ambiguous use of 'dispatch_get_main_queue()'
针对dispatch_get_main_queue()
。
下面的答案似乎是正确的答案,我想使用它,但能有人告诉我这是正确的吗?Swift version
它说要使用以下代码:
DispatchQueue.global(qos: .background).async {
// Background Thread
DispatchQueue.main.async {
// Run UI Updates
}
}
除了使用DispatchQueue
,我还有什么其他替代方法来解决这个错误?
dispatch_sync
代码很可能比那个更旧,早于 Swift 3,其中引入了这种新的DispatchQueue
语法。请参阅 WWDC 2016 年的 “使用 Swift 3 中的 GCD 进行并发编程”。 - Rob