Avatar ·

如何在 Swift 3、4 及更新版本中正确使用 dispatch_sync、dispatch_async、dispatch_after 及其他 GCD 函数

大家好!我正在从 Objective-C 迁移到 Swift,在 Swift 3 发布后,我对 Grand Central Dispatch (GCD) 感到困惑。以前我写的是这样的: ```swift dispatch_async(dispatch_get_main_queue(), { // 更新 UI }) ``` 但现在 Xcode 提示这是错误的。我知道 Apple 更改了 API,但找不到清晰的解释来说明如何在 Swift 3、4 及更新版本中使用 GCD。我需要了解: 1. 如何在主队列上异步执行代码(用于更新 UI)? 2. 如何在后台队列上同步执行代码(dispatch_sync)? 3. 如何延迟执行代码(dispatch_after)? 4. 如何创建自己的队列? 我尝试这样写,但不起作用: ```swift DispatchQueue.main.async { // 代码 } DispatchQueue.global().sync { // 代码 } ``` 请向 Swift 新手解释如何在现代 Swift 中正确使用 GCD。最好提供可以直接复制使用的示例。