Middle+
Cum se face o clasă observabilă începând cu iOS 17?
sobes.tech AI
Răspuns de la AI
Începând cu iOS 17, pentru a face o clasă observabilă, se poate folosi noul protocol Observable din Swift Concurrency. În loc de ObservableObject obișnuit cu @Published, acum clasa trebuie să respecte protocolul Observable și să utilizeze un flux asincron de schimbări.
Exemplu:
import SwiftUI
import Observation
@Observable
class MyModel {
var value: Int = 0
}
// Utilizare în SwiftUI
struct ContentView: View {
@StateObject private var model = MyModel()
var body: some View {
Text("Valoare: \(model.value)")
}
}
Cheia aici este adnotarea @Observable înaintea clasei, care generează automat logica necesară pentru urmărirea schimbărilor. Acest lucru simplifică crearea modelelor observabile și integrarea lor cu SwiftUI.