Avatar ·

Comment exécuter correctement des tâches en arrière-plan en Swift (Grand Central Dispatch)

Bonjour à tous ! Je suis novice en Swift et en développement iOS. J'écris une application simple pour télécharger des images depuis Internet. Lorsque j'appuie sur le bouton "Télécharger", l'interface se fige pendant quelques secondes jusqu'à ce que l'image apparaisse. J'ai entendu dire qu'il faut utiliser des threads d'arrière-plan pour ne pas bloquer le thread principal (UI). Mais je ne comprends pas comment faire correctement en Swift. Voici mon code actuel : ```swift import UIKit class ViewController: UIViewController { @IBOutlet weak var imageView: UIImageView! @IBAction func loadImageTapped(_ sender: UIButton) { // Problème : ce code s'exécute sur le thread principal let url = URL(string: "https://example.com/large-image.jpg")! let data = try! Data(contentsOf: url) imageView.image = UIImage(data: data) } } ``` J'ai essayé d'utiliser `DispatchQueue.global().async`, mais après cela, l'image ne se met pas à jour. Pouvez-vous me dire comment organiser correctement le téléchargement en arrière-plan, puis mettre à jour l'UI ? Et que faire si...