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.