Desarrollo Mobile
> Swift Avanzado
- Armar una función que servirá de esqueleto para descargar imágenes de manera asíncrona.
- Xcode 11
- Playgrounds
Código para descarga de imágenes.
Implementar un esqueleto que incluya un queue
.
El queue
tendrá prioridad de .background
.
Y una función con un completion definido.
El queue ejecutará algún bloque, solo dejarlo indicado con {}
.
Solución
Comenzamos definiendo un DispatchQueue, agregando su tag o identificador, y un quality of service de tipo background.
DispatchQueue(label: "com.bedu.download.images", qos: DispatchQoS.background)
Definiremos una función con dos parámetros, uno de URL, y un completion.
El queue definido se encargará de ejecutar un bloque de codigo, dejaremos esto indicado.
``` func loadImages(from url: URL, completion: (_ image: UIImage) -> Void) { downloadQueue.async(execute: {}) } ```