Sobes.tech
Junior — Middle

Ce indicații trebuie să se facă atunci când se utilizează MainActor?

sobes.tech AI

Răspuns de la AI

@MainActor în Swift este utilizat pentru a indica faptul că codul trebuie să fie executat pe firul principal, ceea ce este important pentru actualizarea UI și alte operații care necesită firul principal. Indicații principale la utilizarea MainActor:

  • Annotați clasele, structurile, funcțiile sau proprietățile cu @MainActor pentru a asigura executarea pe firul principal.
  • Pentru funcțiile asincrone, puteți folosi @MainActor împreună cu async.
  • Dacă apelați o funcție marcată cu @MainActor dintr-un alt fir, folosiți await pentru a comuta pe firul principal.

Exemplu:

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

    func updateTitle() {
        title = "Actualizat"
    }
}

func someBackgroundTask() async {
    let vm = ViewModel()
    await vm.updateTitle() // comutare pe firul principal
}

Astfel, @MainActor ajută la evitarea erorilor legate de actualizarea UI-ului dintr-un fir care nu este principal.