Junior — Middle
Je možné vytvoriť navigáciu v rozhraní bez prijatia povinných závislostí od ObservableObject v Zobrazení?
sobes.tech AI
Odpoveď od AI
Áno, v SwiftUI je možné vytvoriť navigáciu bez nutnosti použiť ObservableObject v pohľade. Napríklad, môžete použiť lokálny stav s @State alebo @StateObject, alebo prenášať údaje cez Binding.
Príklad navigácie s použitím @State:
struct ContentView: View {
@State private var isDetailActive = false
var body: some View {
NavigationView {
VStack {
Button("Prejsť na detaily") {
isDetailActive = true
}
NavigationLink(
destination: DetailView(),
isActive: $isDetailActive,
label: { EmptyView() }
)
}
.navigationTitle("Hlavná")
}
}
}
struct DetailView: View {
var body: some View {
Text("Detaily")
}
}
Preto je ObservableObject potrebný iba v prípade, ak je potrebná reaktívna aktualizácia dát z externého zdroja, ale pre jednoduchú navigáciu sa dá bez neho obísť.