Junior — Middle
Pouvez-vous expliquer le principe de fonctionnement de l'objet ObservableObject et son rôle dans la programmation réactive?
sobes.tech IA
Réponse de l'IA
ObservableObject est un protocole dans SwiftUI qui permet à un objet d’informer ses abonnés des changements de ses données. C’est un élément clé de la programmation réactive, où l’interface utilisateur se met à jour automatiquement lorsque l’état du modèle change.
Lorsqu’une classe conforme à ObservableObject marque ses propriétés avec @Published, toute modification de ces propriétés déclenche des notifications, et les vues SwiftUI associées se mettent à jour.
Exemple :
import SwiftUI
import Combine
class UserSettings: ObservableObject {
@Published var username: String = ""
}
struct ContentView: View {
@ObservedObject var settings = UserSettings()
var body: some View {
TextField("Nom d’utilisateur", text: $settings.username)
Text("Bonjour, \(settings.username)!")
}
}
Ici, lorsque le nom d’utilisateur change, le texte de l’interface se mettra à jour automatiquement. Ainsi, ObservableObject relie le modèle et la vue, assurant une mise à jour réactive de l’UI.