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