Sobes.tech
Junior — Middle

Quelles instructions doivent être suivies lors de l'utilisation de MainActor?

sobes.tech IA

Réponse de l'IA

@MainActor en Swift est utilisé pour indiquer que le code doit s'exécuter sur le thread principal, ce qui est important pour la mise à jour de l'interface utilisateur et d'autres opérations nécessitant le thread principal. Principales indications lors de l'utilisation de MainActor:

  • Annoter les classes, structures, fonctions ou propriétés avec @MainActor pour garantir l'exécution sur le thread principal.
  • Pour les fonctions asynchrones, vous pouvez utiliser @MainActor avec async.
  • Si vous appelez une fonction marquée @MainActor depuis un autre thread, utilisez await pour basculer sur le thread principal.

Exemple:

@MainActor
class ViewModel {
    var title: String = ""

    func updateTitle() {
        title = "Mis à jour"
    }
}

func someBackgroundTask() async {
    let vm = ViewModel()
    await vm.updateTitle() // bascule sur le thread principal
}

Ainsi, @MainActor aide à éviter les erreurs liées à la mise à jour de l'UI depuis un thread non principal.