Avatar ·

Cómo hacer una demora (delay) en Swift: guía completa

¡Hola a todos! Soy nuevo en Swift y desarrollo iOS. Estoy escribiendo una aplicación simple para practicar: un temporizador de cuenta regresiva. Necesito que después de presionar el botón "Inicio", el programa espere 3 segundos y luego realice alguna acción (por ejemplo, mostrar un mensaje o iniciar una animación). Intenté usar `sleep(3)`, pero parece que bloquea toda la interfaz: la aplicación se congela durante 3 segundos y los botones no responden. Eso no es lo que necesito. Por favor, indíquenme cómo hacer correctamente una demora en Swift para que la interfaz siga siendo receptiva. Preferiblemente con un ejemplo de código para iOS (UIKit o SwiftUI). He oído sobre `DispatchQueue.main.asyncAfter`, pero no entiendo bien cómo funciona. Aquí está mi código actual (incorrecto): ```swift @IBAction func startButtonTapped(_ sender: UIButton) { print("Comenzando la demora...") sleep(3) // Esto bloquea la UI print("Han pasado 3 segundos") // Aquí se actualizará la UI } ``` ¡Gracias de antemano por la ayuda! <<>>

Correcto