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