【发布时间】:2019-09-10 16:03:12
【问题描述】:
如何使用 DispatchQueue 类替换以下适用于 iOS 的 Swift 代码?这是旧的 Swift 3 代码,最新的 Xcode 不会转换为 Swift 5。
dispatch_async(dispatch_get_main_queue()) { () -> Void in
// code
}
它给了我一个错误提示
'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 的 Concurrent Programming With GCD in Swift 3。
标签: ios swift grand-central-dispatch ambiguous dispatch-queue