Sobes.tech
Junior — Middle

Welche Anweisungen sind bei der Verwendung von MainActor zu befolgen?

sobes.tech KI

Antwort von AI

@MainActor in Swift wird verwendet, um anzugeben, dass der Code im Hauptthread ausgeführt werden soll, was wichtig ist für die Aktualisierung der Benutzeroberfläche und andere Operationen, die den Hauptthread erfordern. Wichtige Hinweise bei der Verwendung von MainActor:

  • Annotieren Sie Klassen, Strukturen, Funktionen oder Eigenschaften mit @MainActor, um die Ausführung im Hauptthread zu gewährleisten.
  • Für asynchrone Funktionen können Sie @MainActor zusammen mit async verwenden.
  • Wenn Sie eine mit @MainActor gekennzeichnete Funktion aus einem anderen Thread aufrufen, verwenden Sie await, um zum Hauptthread zu wechseln.

Beispiel:

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

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

func someBackgroundTask() async {
    let vm = ViewModel()
    await vm.updateTitle() // Wechsel zum Hauptthread
}

Auf diese Weise hilft @MainActor, Fehler im Zusammenhang mit UI-Updates von einem Nicht-Hauptthread zu vermeiden.