Sobes.tech
Junior — Middle

Може ли да се објасни шта је ObservableObject у контексту SwiftUI и како се користи за управљање стањем?

sobes.tech АИ

Одговор од АИ

ObservableObject у SwiftUI је протокол који омогућава креирање објеката са посматраним стањем. Када се својства таквог објекта промене, SwiftUI аутоматски ажурира повезане приказе.

Да бисте користили ObservableObject, потребно је:

  • Направити класу која наследи од ObservableObject.
  • Обележити својства која треба пратити са @Published.
  • У приказу користити својство са @ObservedObject или @StateObject за претплату на промене.

Пример:

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

У овом примеру, када се username промени, текст у интерфејсу се аутоматски ажурира.