Middle+
Jak udělat třídu pozorovatelnou od iOS 17?
sobes.tech AI
Odpověď od AI
Od iOS 17 je možné, aby třída byla pozorovatelná, použít nový protokol Observable z Swift Concurrency. Místo obvyklého ObservableObject s @Published musí třída nyní splňovat protokol Observable a používat asynchronní tok změn.
Příklad:
import SwiftUI
import Observation
@Observable
class MyModel {
var value: Int = 0
}
// Použití ve SwiftUI
struct ContentView: View {
@StateObject private var model = MyModel()
var body: some View {
Text("Hodnota: \(model.value)")
}
}
Klíčovým prvkem je zde anotace @Observable před třídou, která automaticky generuje potřebnou logiku pro sledování změn. To usnadňuje tvorbu pozorovatelných modelů a jejich integraci se SwiftUI.