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
@MainActorom uitvoering op het hoofdthread te garanderen. - Voor asynchrone functies kun je
@MainActorsamen metasyncgebruiken. - Als je een met
@MainActorgemarkeerde functie vanuit een andere thread aanroept, gebruik danawaitom 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.