Sobes.tech
Junior — Middle

Toutes les tâches dans MainQueue doivent-elles s'exécuter sur le thread principal?

sobes.tech IA

Réponse de l'IA

Non, toutes les tâches de MainQueue ne doivent pas être exécutées sur le thread principal. Sur iOS, MainQueue (file d'attente principale) est destinée à la mise à jour de l'interface utilisateur et au travail avec les éléments d'interface qui nécessitent une exécution sur le thread principal.

Si la tâche concerne des calculs lourds ou des requêtes réseau, il est préférable de l'exécuter sur un thread en arrière-plan (via des files d'attente globales ou des files d'attente propres) pour ne pas bloquer l'interface utilisateur et ne pas dégrader la réactivité de l'application.

Exemple :

DispatchQueue.global().async {
    // Tâche lourde
    let result = performHeavyCalculation()
    DispatchQueue.main.async {
        // Mise à jour de l'UI avec le résultat
        self.label.text = "Résultat : \(result)"
    }
}