Junior — Middle
Aké nové prostriedky na sledovanie a správu stavu v SwiftUI boli zavedené po verzii iOS 13?
sobes.tech AI
Odpoveď od AI
Po iOS 13, SwiftUI je dodal nove načine za spremljanje in upravljanje stanja, ki razširjajo možnosti reaktivnega programiranja:
- @StateObject — za ustvarjanje in upravljanje življenjskega cikla objektov ObservableObject znotraj pogleda, zagotavljajoč, da je objekt ustvarjen le enkrat.
- @ObservedObject — za naročanje na spremembe zunanjih objektov ObservableObject.
- @EnvironmentObject — za prenos podatkov skozi hierarhijo pogledov brez eksplicitnega prenosa.
- @AppStorage — za priročno povezavo stanja z UserDefaults.
- @SceneStorage — za shranjevanje stanja znotraj življenjskega cikla scene.
Te lastnosti omogočajo učinkovito spremljanje sprememb podatkov in samodejno posodabljanje vmesnika brez dodatne kode.
Primer uporabe @StateObject:
class ViewModel: ObservableObject {
@Published var count = 0
}
struct ContentView: View {
@StateObject private var viewModel = ViewModel()
var body: some View {
VStack {
Text("Count: \(viewModel.count)")
Button("Increment") {
viewModel.count += 1
}
}
}
}