Middle+
Hogyan válik megfigyelhetővé egy osztály az iOS 17-től?
sobes.tech MI
Válasz az MI-től
Az iOS 17-től kezdődően, hogy megfigyelhetővé tegyünk egy osztályt, használhatjuk az új Observable protokollt a Swift Concurrency-ből. A megszokott ObservableObject és @Published helyett mostantól az osztálynak meg kell felelnie az Observable protokollnak, és aszinkron változásfolyamot kell használnia.
Példa:
import SwiftUI
import Observation
@Observable
class MyModel {
var value: Int = 0
}
// Használat SwiftUI-ban
struct ContentView: View {
@StateObject private var model = MyModel()
var body: some View {
Text("Érték: \(model.value)")
}
}
A kulcs itt az @Observable annotáció a osztály előtt, amely automatikusan generálja a változások követéséhez szükséges logikát. Ez megkönnyíti megfigyelhető modellek létrehozását és integrációját a SwiftUI-val.