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í
@ObservedObjectnebo@StateObjectpro 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í.