Avatar ·

如何在 Swift 3 中实现延迟(delay)?我使用了 DispatchQueue,但代码不工作

大家好!我正在迁移到 Swift 3,并尝试在代码执行前实现一个简单的延迟。以前在 Swift 2 中我使用 dispatch_after,但现在这个方法已经废弃了。我看到需要使用 DispatchQueue,但我一直没成功。 这是我的代码: ```swift DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) { print("过去了2秒") } ``` 编译器报错:"Cannot convert value of type '()' to expected argument type 'DispatchTime'"。我试过不同的写法,比如写 `DispatchTime.now() + 2.0`,但这时又报错:"Binary operator '+' cannot be applied to operands of type 'DispatchTime' and 'Double'"。 请问如何在 Swift 3 中正确实现延迟?我需要暂停2秒后执行一段代码。如果可以的话,请展示不同情况的示例:在主线程和后台线程上。提前谢谢! P.S. 我使用的是 Xcode 8, Swift 3。