Sobes.tech
Junior — Middle

Quels nouveaux moyens de surveillance et de gestion de l'état dans SwiftUI ont été introduits après la version iOS 13?

sobes.tech IA

Réponse de l'IA

Après iOS 13, SwiftUI a ajouté de nouveaux moyens pour surveiller et gérer l'état, élargissant les capacités de la programmation réactive :

  • @StateObject — pour créer et gérer le cycle de vie des objets ObservableObject dans une vue, en garantissant que l'objet est créé une seule fois.
  • @ObservedObject — pour s'abonner aux changements d'objets ObservableObject externes.
  • @EnvironmentObject — pour transmettre des données à travers la hiérarchie des vues sans les passer explicitement.
  • @AppStorage — pour lier facilement l'état avec UserDefaults.
  • @SceneStorage — pour sauvegarder l'état dans le cycle de vie d'une scène.

Ces propriétés permettent de suivre efficacement les changements de données et de mettre à jour l'interface automatiquement sans code supplémentaire.

Exemple d'utilisation de @StateObject :

class ViewModel: ObservableObject {
    @Published var count = 0
}

struct ContentView: View {
    @StateObject private var viewModel = ViewModel()

    var body: some View {
        VStack {
            Text("Count: \(viewModel.count)")
            Button("Increment") {
                viewModel.count += 1
            }
        }
    }
}