Junior — Middle
Какви нови средства за мониторинг и управление на състоянието в SwiftUI бяха въведени след версия iOS 13?
sobes.tech AI
Отговор от AI
След iOS 13, SwiftUI добави нови средства за мониторинг и управление на състоянието, които разширяват възможностите на реактивното програмиране:
- @StateObject — за създаване и управление на жизнения цикъл на обекти ObservableObject вътре във изглед, гарантирайки, че обектът се създава само веднъж.
- @ObservedObject — за абониране за промени в външни обекти ObservableObject.
- @EnvironmentObject — за предаване на данни чрез йерархията на изгледите без явното им предаване.
- @AppStorage — за удобно свързване на състоянието с UserDefaults.
- @SceneStorage — за запазване на състоянието в рамките на жизнения цикъл на сцената.
Тези свойства позволяват ефективно проследяване на промените в данните и автоматично обновяване на интерфейса без допълнителен код.
Пример за използване на @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
}
}
}
}