Avatar ·

如何在Swift中实现延迟(delay):完整指南

大家好!我是Swift和iOS开发的新手。我正在编写一个简单的练习应用——倒计时器。我需要的是,在点击“开始”按钮后,程序等待3秒,然后执行某个操作(例如,显示一条消息或启动动画)。 我尝试过使用 `sleep(3)`,但这似乎会阻塞整个界面——应用会卡住3秒,按钮也无法点击。这不是我想要的。 请告诉我如何在Swift中正确实现延迟,同时保持界面的响应性?最好能提供iOS(UIKit或SwiftUI)的代码示例。我听说过 `DispatchQueue.main.asyncAfter`,但不太明白它是如何工作的。 以下是我当前(错误的)代码: ```swift @IBAction func startButtonTapped(_ sender: UIButton) { print("开始延迟...") sleep(3) // 这会阻塞UI print("3秒过去了") // 这里将更新UI } ``` 提前感谢您的帮助! <<>>

正确