Junior — Middle
Môžete vysvetliť, čo je ObservableObject v kontexte SwiftUI a ako sa používa na správu stavu?
sobes.tech AI
Odpoveď od AI
ObservableObject v SwiftUI je protokol, ktorý umožňuje vytvárať objekty s pozorovateľným stavom. Keď sa vlastnosti takéhoto objektu zmenia, SwiftUI automaticky aktualizuje s tým spojené pohľady.
Na použitie ObservableObject je potrebné:
- Vytvoriť triedu, ktorá dedí od
ObservableObject. - Označiť vlastnosti, ktorých zmeny je potrebné sledovať, anotáciou
@Published. - V pohľade použiť vlastnosť s anotáciou
@ObservedObjectalebo@StateObjectna odber zmien.
Prí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 príklade, pri zmene username, sa text v rozhraní automaticky aktualizuje.