Junior — Middle
Jakie instrukcje należy wykonywać podczas korzystania z MainActor?
sobes.tech AI
Odpowiedź od AI
@MainActor w Swiftie jest używany do oznaczania, że kod powinien być wykonywany na głównym wątku, co jest ważne dla aktualizacji interfejsu użytkownika i innych operacji wymagających głównego wątku. Główne wskazówki przy używaniu MainActor:
- Oznaczaj klasy, struktury, funkcje lub właściwości za pomocą
@MainActor, aby zapewnić wykonanie na głównym wątku. - Dla funkcji asynchronicznych można używać
@MainActorrazem zasync. - Jeśli wywołujesz funkcję oznaczoną
@MainActorz innego wątku, użyjawait, aby przełączyć się na główny wątek.
Przykład:
@MainActor
class ViewModel {
var title: String = ""
func updateTitle() {
title = "Zaktualizowano"
}
}
func someBackgroundTask() async {
let vm = ViewModel()
await vm.updateTitle() // przełączenie na główny wątek
}
W ten sposób @MainActor pomaga unikać błędów związanych z aktualizacją UI spoza głównego wątku.