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.