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 промени, текст у интерфејсу се аутоматски ажурира.