Junior — Middle
Comment peut-on implémenter l'exécution asynchrone des tâches dans iOS en utilisant Grand Central Dispatch?
sobes.tech IA
Réponse de l'IA
Grand Central Dispatch (GCD) est une API de bas niveau dans iOS pour gérer l'exécution asynchrone des tâches via des files d'attente.
Pour exécuter une tâche de manière asynchrone avec GCD, vous pouvez utiliser la fonction dispatch_async, qui place un bloc de code dans la file d'attente spécifiée et retourne immédiatement, sans bloquer le thread actuel.
Exemple d'utilisation :
DispatchQueue.global(qos: .background).async {
// Opération longue, par exemple, charger des données
let data = fetchDataFromNetwork()
DispatchQueue.main.async {
// Mise à jour de l'UI sur le thread principal
self.updateUI(with: data)
}
}
Ici :
DispatchQueue.global(qos: .background)— file d'attente globale en arrière-plan pour les tâches lourdes.async— exécution asynchrone du bloc.- À l'intérieur du bloc, après la tâche en arrière-plan, on revient sur le thread principal pour mettre à jour l'UI.
Ainsi, GCD permet d'exécuter facilement des tâches en arrière-plan sans bloquer l'interface, et de revenir au thread principal pour mettre à jour l'UI.