Sobes.tech
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.