Avatar ·

Cómo ejecutar código correctamente en un hilo de fondo en Swift (Grand Central Dispatch)

¡Hola a todos! Soy nuevo en el desarrollo de iOS con Swift y tengo un problema con la concurrencia. Tengo una aplicación que descarga imágenes de internet. Cuando llamo a la función de descarga en el hilo principal, la interfaz se congela durante unos segundos: el scroll de la tabla se ralentiza y las animaciones desaparecen. Entiendo que necesito mover las operaciones pesadas (solicitudes de red, procesamiento de datos) a un hilo de fondo, pero no sé cómo hacerlo correctamente. Aquí hay un ejemplo de mi código: ```swift func loadImage(from urlString: String) -> UIImage? { guard let url = URL(string: urlString) else { return nil } do { let data = try Data(contentsOf: url) return UIImage(data: data) } catch { print("Error loading image: \(error)") return nil } } // Uso en viewDidLoad override func viewDidLoad() { super.viewDidLoad() let image = loadImage(from: "https://example.com/large-image.jpg") imageView.image = image } ``` He oído sobre Di