Sobes.tech
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 ObservableObject erbt.
  • Eigenschaften, deren Änderungen verfolgt werden sollen, mit der Annotation @Published markieren.
  • In der Ansicht eine Eigenschaft mit @ObservedObject oder @StateObject verwenden, 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.