Junior — Middle
Puteți explica principiul de funcționare al obiectului ObservableObject și rolul său în programarea reactivă?
sobes.tech AI
Răspuns de la AI
ObservableObject este un protocol în SwiftUI care permite unui obiect să notifice abonații despre modificările datelor sale. Este un element cheie al programării reactive, unde interfața utilizatorului se actualizează automat atunci când starea modelului se schimbă.
Când o clasă respectă ObservableObject și marchează proprietățile cu @Published, orice modificare a acestor proprietăți declanșează notificări, iar vizualizările SwiftUI asociate se actualizează.
Exemplu:
import SwiftUI
import Combine
class UserSettings: ObservableObject {
@Published var username: String = ""
}
struct ContentView: View {
@ObservedObject var settings = UserSettings()
var body: some View {
TextField("Nume de utilizator", text: $settings.username)
Text("Salut, \(settings.username)!")
}
}
Aici, la schimbarea numelui de utilizator, textul din interfață se va actualiza automat. Astfel, ObservableObject leagă modelul de vizualizare, asigurând o actualizare reactivă a UI-ului.