Sobes.tech
Junior — Middle

Koje upute treba slediti pri korišćenju MainActor?

sobes.tech АИ

Одговор од АИ

@MainActor u Swift-u se koristi za označavanje da kod treba da se izvršava na glavnom thread-u, što je važno za ažuriranje UI-a i drugih operacija koje zahtevaju glavni thread. Glavni saveti pri korišćenju MainActor:

  • Obeležite klase, strukture, funkcije ili svojstva sa @MainActor kako biste osigurali izvršavanje na glavnom thread-u.
  • Za asinhrone funkcije, možete koristiti @MainActor zajedno sa async.
  • Ako pozivate funkciju označenu sa @MainActor iz drugog thread-a, koristite await za prebacivanje na glavni thread.

Primer:

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

    func updateTitle() {
        title = "Ažurirano"
    }
}

func someBackgroundTask() async {
    let vm = ViewModel()
    await vm.updateTitle() // prebacivanje na glavni thread
}

Na ovaj način, @MainActor pomaže da se izbegnu greške povezane sa ažuriranjem UI-a sa drugog thread-a.