Junior — Middle
Jak funguje mechanismus sledování stavu pomocí ObservedObject?
sobes.tech AI
Odpověď od AI
V SwiftUI je mechanismus sledování stavu pomocí @ObservedObject založen na protokolu ObservableObject a publikaci změn přes @Published.
Když je třída označena jako ObservableObject, může upozorňovat odběratele na změny svých vlastností. Vlastnosti označené jako @Published automaticky generují události při změně hodnoty. Komponenta SwiftUI, která používá @ObservedObject, se na tyto události přihlásí a při jejich výskytu se překreslí.
Příklad:
class UserSettings: ObservableObject {
@Published var username: String = "Guest"
}
struct ContentView: View {
@ObservedObject var settings = UserSettings()
var body: some View {
Text("Hello, \(settings.username)!")
}
}
Zde, když se změní username v UserSettings, se automaticky aktualizuje rozhraní ContentView.