AD

¿Ya dominas lo básico? Un curso estructurado de Swift es la vía rápida para dar el salto.

Ver cursos de Swift en Udemy

Enlace de afiliado. No te cuesta nada extra.

🐦Lecciones de Swift
Lección 56 / 68

Esperar un tiempo determinado (Thread.sleep)

En esta lección pausarás el programa durante unos segundos.

Thread.sleep(forTimeInterval: 1.0) detiene la ejecución el tiempo indicado, en segundos y con decimales. Hace falta importar Foundation.

El código de ejemplo imprime un mensaje, espera y luego imprime otro.

Lo esencial es que Thread.sleep bloquea el hilo entero. En una aplicación de iPhone, hacerlo en el hilo principal congela la interfaz: no responde a toques ni se redibuja, y si dura lo suficiente el sistema cierra la aplicación. Es uno de los errores más visibles que se pueden cometer.

En Swift moderno la forma correcta de esperar sin bloquear es try await Task.sleep(for: .seconds(1)), dentro de una función asíncrona. Ese await libera el hilo mientras espera, así que la interfaz sigue viva.

Donde la espera sí tiene sentido es en los reintentos con espera creciente: 1 segundo, luego 2, luego 4. Esa progresión evita que muchos clientes vuelvan a la vez y hundan el servicio que intentaba recuperarse.

📖 Código de referencia
✍️ Tu código
Escribe tu código y pulsa «Ejecutar»

🧪 Este sitio no puede compilar ni ejecutar Swift directamente, así que comprueba al instante si lo que escribiste coincide con el código de referencia (la corrección ocurre por completo en tu navegador; no se envía nada a ningún servidor).

🔗 El mismo tema en otros lenguajes

Mira cómo se escribe lo mismo en otro lenguaje.

Espacio publicitario (banner)
Espacio publicitario (en el artículo)