Avatar ·

Cómo usar dispatch_after en Swift 3, 4 y 5 para retrasar la ejecución de código

¡Hola a todos! Acabo de empezar a aprender Swift y estoy tratando de entender la programación asíncrona. Antes veía muchos ejemplos con dispatch_after en Objective-C y versiones antiguas de Swift, pero ahora que escribo en Swift 5, este método no funciona. Intento ejecutar algún código después de 2 segundos, pero el compilador da un error. Esto es lo que he probado: ```swift dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(2 * NSEC_PER_SEC)), dispatch_get_main_queue()) { print("Han pasado 2 segundos") } ``` Xcode dice que dispatch_after no existe y sugiere usar métodos extraños como asyncAfter. He leído la documentación, pero parece demasiado complicada para un principiante. Necesito una explicación simple: ¿cómo hacer correctamente un retraso en Swift 5? Preferiblemente con ejemplos que funcionen en código moderno. ¡Gracias de antemano! <<>>

La forma correcta de retrasar la ejecución en Swift 3, 4 y 5

Efectivamente, a partir de Swift 3, Apple cambió la API de Grand Central Dispatch (