Avatar ·

Como fazer um delay em Swift: guia completo

Olá a todos! Sou novo em Swift e desenvolvimento iOS. Estou escrevendo um aplicativo simples para treino — um timer de contagem regressiva. Preciso que, após pressionar o botão "Iniciar", o programa aguarde 3 segundos e depois execute alguma ação (por exemplo, mostre uma mensagem ou inicie uma animação).\n\nTentei usar `sleep(3)`, mas parece que isso bloqueia toda a interface — o aplicativo congela por 3 segundos e os botões não podem ser pressionados. Não é isso que preciso.\n\nPor favor, me digam como fazer um delay corretamente em Swift para que a interface permaneça responsiva? De preferência com um exemplo de código para iOS (UIKit ou SwiftUI). Ouvi falar sobre `DispatchQueue.main.asyncAfter`, mas não entendo bem como funciona.\n\nAqui está meu código atual (incorreto):\n\n```swift\n@IBAction func startButtonTapped(_ sender: UIButton)