La forma más sencilla es crear una cola Grand Central Dispatch y ejecutar un cierre de forma asincrónica en ella. Ejemplo de Toy Swift:
Despacho de importación
let queue = DispatchQueue ()
- Cómo iniciar un equipo de programación y qué herramientas y software necesita
- ¿Qué debo buscar en un desarrollador de aplicaciones?
- ¿Cuáles son los mejores SDK empresariales para proporcionar mensajes basados en la nube y videollamadas para aplicaciones móviles iOS / Android?
- ¿Cómo se compara ARKit con ARCore?
- ¿Cómo funciona Crashlytics en iOS? ¿Cómo detectamos un bloqueo y obtenemos la pila para lo mismo?
func doThingInBackground () {
queue.async {
hacer algo()
}
}
Objective-C tiene una sintaxis y nombres ligeramente diferentes (dispatch_create, dispatch_async, etc.) pero funciona básicamente de la misma manera.
GCD mantiene un grupo de subprocesos de trabajo en el que distribuye trabajos, un trabajo por cola a la vez, coordinando con el sistema operativo para garantizar que su grupo tenga el tamaño adecuado para la carga de trabajo de la máquina en su conjunto. También incluye mucho más que colas en serie y elementos de trabajo asíncronos: semáforos, manejo de eventos, E / S asíncrona, ejecución retrasada, colas concurrentes, elementos de trabajo sincrónicos y de barrera, almacenamiento local en cola, agrupación de elementos de trabajo, todo tipo de cosas. . Y las colas son lo suficientemente livianas como para que los desarrolladores las usen en lugar de bloqueos.
Vea la documentación para más información: Despacho | Documentación del desarrollador de Apple