Sobes.tech
Junior — Middle

Welke aanwijzingen moeten worden gegeven bij het gebruik van MainActor?

sobes.tech AI

Antwoord van AI

@MainActor in Swift wordt gebruikt om aan te geven dat de code op de hoofdthread moet worden uitgevoerd, wat belangrijk is voor het bijwerken van de gebruikersinterface en andere operaties die het hoofdthread vereisen. Belangrijke richtlijnen bij het gebruik van MainActor:

  • Annoteer klassen, structuren, functies of eigenschappen met @MainActor om uitvoering op het hoofdthread te garanderen.
  • Voor asynchrone functies kun je @MainActor samen met async gebruiken.
  • Als je een met @MainActor gemarkeerde functie vanuit een andere thread aanroept, gebruik dan await om over te schakelen naar het hoofdthread.

Voorbeeld:

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

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

func someBackgroundTask() async {
    let vm = ViewModel()
    await vm.updateTitle() // overschakelen naar hoofdthread
}

Op deze manier helpt @MainActor om fouten te voorkomen die verband houden met het bijwerken van de UI vanaf een niet-hoofdthread.