Sobes.tech
Junior — Middle

Lze vysvětlit, co je to ObservableObject v kontextu SwiftUI a jak se používá k řízení stavu?

sobes.tech AI

Odpověď od AI

ObservableObject v SwiftUI je protokol, který umožňuje vytvářet objekty s pozorovatelným stavem. Když se vlastnosti takového objektu změní, SwiftUI automaticky aktualizuje s tím spojené pohledy.

Pro použití ObservableObject je třeba:

  • Vytvořit třídu, která dědí od ObservableObject.
  • Označit vlastnosti, jejichž změny je třeba sledovat, anotací @Published.
  • V pohledu použít vlastnost s anotací @ObservedObject nebo @StateObject pro přihlášení ke změnám.

Příklad:

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()
        }
    }
}

V tomto příkladu se při změně username automaticky aktualizuje text v rozhraní.