Sobes.tech
Junior — Middle

Peut-on expliquer ce qu'est un ObservableObject dans le contexte de SwiftUI et comment il est utilisé pour gérer l'état?

sobes.tech IA

Réponse de l'IA

ObservableObject en SwiftUI est un protocole qui permet de créer des objets avec un état observable. Lorsque les propriétés de cet objet changent, SwiftUI met automatiquement à jour les vues associées.

Pour utiliser ObservableObject, il faut :

  • Créer une classe qui hérite de ObservableObject.
  • Marquer les propriétés à suivre avec l'annotation @Published.
  • Dans la vue, utiliser une propriété avec l'annotation @ObservedObject ou @StateObject pour s'abonner aux changements.

Exemple :

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()
        }
    }
}

Dans cet exemple, lorsque username change, le texte dans l'interface se met à jour automatiquement.