Junior — Middle
Ce noi mijloace de monitorizare și gestionare a stării în SwiftUI au fost introduse după versiunea iOS 13?
sobes.tech AI
Răspuns de la AI
După iOS 13, SwiftUI a adăugat noi mijloace pentru monitorizarea și gestionarea stării, extinzând capacitățile programării reactive:
- @StateObject — pentru crearea și gestionarea ciclului de viață al obiectelor ObservableObject în interiorul unei vizualizări, asigurând că obiectul este creat o singură dată.
- @ObservedObject — pentru abonarea la modificările obiectelor ObservableObject externe.
- @EnvironmentObject — pentru transmiterea datelor prin ierarhia vizualizărilor fără a le transmite explicit.
- @AppStorage — pentru legarea convenabilă a stării cu UserDefaults.
- @SceneStorage — pentru salvarea stării în cadrul ciclului de viață al scenei.
Aceste proprietăți permit urmărirea eficientă a modificărilor datelor și actualizarea automată a interfeței fără cod suplimentar.
Exemplu de utilizare a @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
}
}
}
}