Avatar ·

¿Cómo hacer un delay en Swift 3? Uso DispatchQueue pero el código no funciona

¡Hola a todos! Estoy migrando a Swift 3 y tratando de implementar un simple delay antes de ejecutar código. Antes en Swift 2 usaba dispatch_after, pero ahora ese método está obsoleto. Vi que hay que usar DispatchQueue, pero no logro que funcione. Aquí está mi código: ```swift DispatchQueue.main.asyncAfter(deadline: .now() + 2.0) { print("Pasaron 2 segundos") } ``` El compilador da error: "Cannot convert value of type '()' to expected argument type 'DispatchTime'". Probé diferentes variantes, por ejemplo, escribir `DispatchTime.now() + 2.0`, pero entonces el error es "Binary operator '+' cannot be applied to operands of type 'DispatchTime' and 'Double'". ¿Podrían indicarme cómo hacer correctamente un delay en Swift 3? Necesito que después de una pausa de 2 segundos se ejecute un bloque de código. Si es posible, muestren un ejemplo con diferentes opciones: en el hilo principal y en segundo plano. ¡Gracias de antemano! P.D. Uso Xcode 8, Swift 3. <<>>

Forma correcta de hacer un delay en Swift 3

P