Avatar ·

Cómo usar dispatch_after en Swift 3, 4 y 5 para ejecución retrasada

¡Hola! Soy nuevo en Swift y estoy intentando migrar código antiguo de Objective-C, donde usaba dispatch_after para retrasar la ejecución. Antes escribía algo como: ```objective-c dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2.0 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ NSLog(@"Han pasado 2 segundos"); }); ``` Pero en Swift 3 y superiores esto no funciona. Intenté escribir así: ```swift dispatch_after(dispatch_time(DISPATCH_TIME_NOW, Int64(2.0 * Double(NSEC_PER_SEC))), DispatchQueue.main, { print("Han pasado 2 segundos") }) ``` Pero Xcode da un error: "Use of unresolved identifier 'dispatch_after'". Entiendo que GCD ha cambiado mucho, pero no encuentro un ejemplo claro para Swift 3/4/5. Por favor, explícame cómo hacer correctamente un retraso de 2 segundos con ejecución en el hilo principal. Necesito un ejemplo simple y funcional para poder insertarlo en mi código. ¡Gracias de antemano! <<>>

La forma correcta de ejecución retrasada en Swift 3+

En Swift 3, la API