Cómo usar correctamente dispatch_sync, dispatch_async, dispatch_after y otras funciones de GCD en Swift 3, 4 y posteriores
¡Hola a todos! Estoy migrando de Objective-C a Swift y tengo confusión con Grand Central Dispatch (GCD) después del lanzamiento de Swift 3. Antes escribía algo como:
```swift
dispatch_async(dispatch_get_main_queue(), {
// actualización de UI
})
```
Pero ahora Xcode dice que esto es incorrecto. Entiendo que Apple cambió la API, pero no encuentro una explicación clara de cómo trabajar con GCD en Swift 3, 4 y posteriores. Necesito entender:
1. ¿Cómo ejecutar código de forma asíncrona en la cola principal (para actualizar la UI)?
2. ¿Cómo ejecutar código de forma síncrona (dispatch_sync) en una cola en segundo plano?
3. ¿Cómo hacer un retardo antes de la ejecución (dispatch_after)?
4. ¿Cómo crear mi propia cola?
He intentado escribir así, pero no funciona:
```swift
DispatchQueue.main.async {
// código
}
DispatchQueue.global().sync {
// código
}
```
Por favor, explíquenle a un principiante en Swift cómo usar correctamente GCD en Swift moderno. Preferiblemente con ejemplos que pueda copiar y usar de inmediato.
No answers yet.
Inicia sesión para dejar una respuesta
Blogs
Principios SOLID en C#: teoría y práctica con ejemplos de código
Trabajo con el sistema de archivos en Kotlin: guía completa para principiantes
Trabajo con colas de tareas en Kotlin: en la práctica
Rate Limiting y Throttling en C#: Domando los flujos de peticiones