Junior — Middle
Ako funguje mechanizmus sledovania stavu pomocou ObservedObject?
sobes.tech AI
Odpoveď od AI
V SwiftUI mechanizmus sledovania stavu pomocou @ObservedObject je založený na protokole ObservableObject a publikovaní zmien cez @Published.
Keď je trieda označená ako ObservableObject, môže upozorniť odberateľov na zmeny svojich vlastností. Vlastnosti označené ako @Published automaticky generujú udalosti pri zmene hodnoty. Komponent SwiftUI, ktorý používa @ObservedObject, sa na tieto udalosti prihlási a pri ich výskyte sa prekreslí.
Príklad:
class UserSettings: ObservableObject {
@Published var username: String = "Guest"
}
struct ContentView: View {
@ObservedObject var settings = UserSettings()
var body: some View {
Text("Hello, \(settings.username)!")
}
}
Tu, keď sa zmení username v UserSettings, sa automaticky aktualizuje rozhranie ContentView.