Junior — Middle
Jaké nové prostředky sledování a správy stavu ve SwiftUI byly zavedeny po verzi iOS 13?
sobes.tech AI
Odpověď od AI
Po iOS 13 přidal SwiftUI nové prostředky pro sledování a správu stavu, které rozšiřují možnosti reaktivního programování:
- @StateObject — pro vytváření a správu životního cyklu objektů ObservableObject uvnitř pohledu, zajišťující, že objekt je vytvořen pouze jednou.
- @ObservedObject — pro přihlášení ke změnám externích objektů ObservableObject.
- @EnvironmentObject — pro předávání dat přes hierarchii pohledů bez jejich explicitního předávání.
- @AppStorage — pro pohodlné spojení stavu s UserDefaults.
- @SceneStorage — pro ukládání stavu v rámci životního cyklu scény.
Tyto vlastnosti umožňují efektivně sledovat změny dat a automaticky aktualizovat rozhraní bez dalšího kódu.
Příklad použití @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
}
}
}
}