Middle+
Come rendere una classe osservabile a partire da iOS 17?
sobes.tech AI
Risposta dell'AI
A partire da iOS 17, per rendere una classe osservabile, è possibile utilizzare il nuovo protocollo Observable di Swift Concurrency. Invece del consueto ObservableObject con @Published, ora la classe deve conformarsi al protocollo Observable e utilizzare un flusso di cambiamenti asincrono.
Esempio:
import SwiftUI
import Observation
@Observable
class MyModel {
var value: Int = 0
}
// Uso in SwiftUI
struct ContentView: View {
@StateObject private var model = MyModel()
var body: some View {
Text("Valore: \(model.value)")
}
}
Qui, la chiave è l’annotazione @Observable prima della classe, che genera automaticamente la logica necessaria per tracciare le modifiche. Questo semplifica la creazione di modelli osservabili e la loro integrazione con SwiftUI.