Middle+
Kaip padaryti klasę stebimą nuo iOS 17?
sobes.tech AI
Atsakymas iš AI
Nuo iOS 17, norint padaryti klasę stebimą, galima naudoti naują Observable protokolą iš Swift Concurrency. Vietoj įprasto ObservableObject su @Published, dabar klasė turi atitikti Observable protokolą ir naudoti asinchroninį pokyčių srautą.
Pavyzdys:
import SwiftUI
import Observation
@Observable
class MyModel {
var value: Int = 0
}
// Naudojimas SwiftUI
struct ContentView: View {
@StateObject private var model = MyModel()
var body: some View {
Text("Reikšmė: \(model.value)")
}
}
Pagrindinis elementas yra @Observable anotacija prieš klasę, kuri automatiškai generuoja reikalingą logiką pokyčių stebėjimui. Tai palengvina stebimų modelių kūrimą ir jų integraciją su SwiftUI.