Avatar ·

如何在 Swift 3 中编程实现延迟 (delay)?

大家好!我刚开始学习 Swift 3,但一直搞不清楚如何在代码中创建延迟。我需要的是,点击按钮后,过 2 秒执行某个操作(例如隐藏 UILabel)。\n\n之前我看到在 Swift 2 中使用了 `dispatch_after`,但在 Swift 3 中这个语法似乎变了。我尝试这样写:\n\n```swift\ndispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(2 * NSEC_PER_SEC)), dispatch_get_main_queue()) {\n // 我的代码\n}\n```\n\n但 Xcode 报错:`'dispatch_after' is unavailable: Use DispatchQueue.main.asyncAfter`。我明白需要使用其他方法,但文档对新手来说似乎很复杂。\n\n请告诉我如何在 Swift 3 中正确实现延迟?最好有一个简单的示例,这样我可以直接插入到我的项目中。提前谢谢!\n<<>>\n

正确方法:DispatchQueue.asyncAfter

\n

在 Swift 3 及更高版本中,Apple 完全重写了 Grand Central