Junior — Middle
Se poate explica ce este un ObservableObject în contextul SwiftUI și cum este folosit pentru gestionarea stării?
sobes.tech AI
Răspuns de la AI
ObservableObject în SwiftUI este un protocol care permite crearea de obiecte cu o stare observabilă. Când proprietățile unui astfel de obiect se schimbă, SwiftUI actualizează automat vizualizările asociate.
Pentru a folosi ObservableObject, trebuie:
- Să creezi o clasă care moștenește de la
ObservableObject. - Să marchezi proprietățile care trebuie urmărite cu adnotarea
@Published. - În vizualizare, să folosești o proprietate cu adnotarea
@ObservedObjectsau@StateObjectpentru a te abona la schimbări.
Exemplu:
class UserSettings: ObservableObject {
@Published var username: String = "Guest"
}
struct ContentView: View {
@StateObject var settings = UserSettings()
var body: some View {
VStack {
Text("Hello, \(settings.username)!")
TextField("Username", text: $settings.username)
.textFieldStyle(RoundedBorderTextFieldStyle())
.padding()
}
}
}
În acest exemplu, atunci când username se schimbă, textul din interfață se actualizează automat.