如何在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
}
```
提前感谢您的帮助!
<<>>