Sobes.tech
Junior — Middle

Wie funktioniert der Überwachungsmechanismus des Zustands mit ObservedObject?

sobes.tech KI

Antwort von AI

In SwiftUI basiert der Mechanismus zur Statusüberwachung mit @ObservedObject auf dem Protokoll ObservableObject und der Veröffentlichung von Änderungen über @Published.

Wenn eine Klasse als ObservableObject gekennzeichnet ist, kann sie ihre Abonnenten über Änderungen an ihren Eigenschaften informieren. Eigenschaften, die als @Published markiert sind, generieren automatisch Ereignisse bei Änderungen ihres Werts. Die SwiftUI-Komponente, die @ObservedObject verwendet, abonniert diese Ereignisse und wird bei deren Eintreten neu gerendert.

Beispiel:

class UserSettings: ObservableObject {
    @Published var username: String = "Guest"
}

struct ContentView: View {
    @ObservedObject var settings = UserSettings()

    var body: some View {
        Text("Hello, \(settings.username)!")
    }
}

Hier wird bei Änderung von username in UserSettings die Benutzeroberfläche von ContentView automatisch aktualisiert.