Sobes.tech
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.