Junior — Middle
Kann man erklären, was ein ObservableObject im Kontext von SwiftUI ist und wie es zur Zustandsverwaltung verwendet wird?
sobes.tech KI
Antwort von AI
ObservableObject in SwiftUI ist ein Protokoll, das das Erstellen von Objekten mit beobachtbarem Zustand ermöglicht. Wenn sich Eigenschaften eines solchen Objekts ändern, aktualisiert SwiftUI automatisch die zugehörigen Ansichten.
Um ObservableObject zu verwenden, muss man:
- Eine Klasse erstellen, die von
ObservableObjecterbt. - Eigenschaften, deren Änderungen verfolgt werden sollen, mit der Annotation
@Publishedmarkieren. - In der Ansicht eine Eigenschaft mit
@ObservedObjectoder@StateObjectverwenden, um auf Änderungen zu abonnieren.
Beispiel:
class UserSettings: ObservableObject {
@Published var username: String = "Guest"
}
struct ContentView: View {
@StateObject var settings = UserSettings()
var body: some View {
VStack {
Text("Hello, \(settings.username)!")
TextField("Username", text: $settings.username)
.textFieldStyle(RoundedBorderTextFieldStyle())
.padding()
}
}
}
In diesem Beispiel wird der Text automatisch aktualisiert, wenn username geändert wird.