Sobes.tech
Middle+

Comment rendre une classe observable à partir d'iOS 17?

sobes.tech IA

Réponse de l'IA

À partir d’iOS 17, pour rendre une classe observable, vous pouvez utiliser le nouveau protocole Observable de Swift Concurrency. Au lieu du traditionnel ObservableObject avec @Published, la classe doit désormais se conformer au protocole Observable et utiliser un flux de changements asynchrone.

Exemple:

import SwiftUI
import Observation

@Observable
class MyModel {
    var value: Int = 0
}

// Utilisation dans SwiftUI
struct ContentView: View {
    @StateObject private var model = MyModel()

    var body: some View {
        Text("Valeur: \(model.value)")
    }
}

L’élément clé ici est l’annotation @Observable avant la classe, qui génère automatiquement la logique nécessaire pour suivre les changements. Cela simplifie la création de modèles observables et leur intégration avec SwiftUI.