Junior — Middle
Cum funcționează mecanismul de urmărire a stării cu ObservedObject?
sobes.tech AI
Răspuns de la AI
În SwiftUI, mecanismul de urmărire a stării cu @ObservedObject se bazează pe protocolul ObservableObject și pe publicarea modificărilor prin @Published.
Când o clasă este marcată ca ObservableObject, poate notifica abonații despre modificările proprietăților sale. Proprietățile marcate ca @Published generează automat evenimente atunci când valoarea lor se schimbă. Componentele SwiftUI care utilizează @ObservedObject se abonează la aceste evenimente și se redesenează atunci când acestea apar.
Exemplu:
class UserSettings: ObservableObject {
@Published var username: String = "Guest"
}
struct ContentView: View {
@ObservedObject var settings = UserSettings()
var body: some View {
Text("Hello, \(settings.username)!")
}
}
Aici, când username din UserSettings se schimbă, interfața ContentView se va actualiza automat.