【问题标题】:Ambiguous use of 'dispatch_get_main_queue()''dispatch_get_main_queue()' 的模糊使用
【发布时间】: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


【解决方案1】:

是的,没错。这是新的更新语法。

【讨论】:

    猜你喜欢
    • 2019-05-26
    • 2016-09-13
    • 2012-09-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多