如何在 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。最好提供可以直接复制使用的示例。