Avatar ·

Cómo usar correctamente dispatch_after en Swift para retrasar la ejecución de código

¡Hola! Acabo de empezar a aprender Swift y estoy tratando de entender Grand Central Dispatch. Antes, en Objective-C, solía usar dispatch_after para ejecutar código con un retraso, por ejemplo: ```objc dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ NSLog(@"Han pasado 2 segundos"); }); ``` Pero ahora, cuando escribo en Swift, no estoy seguro de cómo reescribir este código correctamente. Probé algo como: ```swift dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue()) { print("Han pasado 2 segundos") } ``` Pero el compilador se queja de la sintaxis. Vi que en Swift 3 y superiores, la API de GCD cambió mucho y la forma antigua dejó de funcionar. Necesito ejecutar un retraso antes de actualizar la UI (por ejemplo, mostrar una alerta o cambiar un label). Por favor, indícame cómo hacerlo correctamente en Swift moderno. Preferiblemente con ejemplos de código para que entienda exactamente cómo funciona. ¡Gracias de antemano!