Junior — Middle
Hoe werkt het mechanisme voor het volgen van de status met ObservedObject?
sobes.tech AI
Antwoord van AI
In SwiftUI is het mechanisme voor statusvolging met @ObservedObject gebaseerd op het protocol ObservableObject en het publiceren van wijzigingen via @Published.
Wanneer een klasse is gemarkeerd als ObservableObject, kan deze abonnees informeren over wijzigingen in zijn eigenschappen. Eigenschappen gemarkeerd als @Published genereren automatisch gebeurtenissen wanneer hun waarde verandert. Het SwiftUI-component dat @ObservedObject gebruikt, abonneert zich op deze gebeurtenissen en wordt opnieuw getekend wanneer ze plaatsvinden.
Voorbeeld:
class UserSettings: ObservableObject {
@Published var username: String = "Guest"
}
struct ContentView: View {
@ObservedObject var settings = UserSettings()
var body: some View {
Text("Hello, \(settings.username)!")
}
}
Hier, wanneer username in UserSettings verandert, wordt de interface van ContentView automatisch bijgewerkt.