Sobes.tech
Junior — Middle

Je možné vytvořit navigaci v rozhraní bez přijetí povinných závislostí od ObservableObject ve Zobrazení?

sobes.tech AI

Odpověď od AI

Ano, ve SwiftUI je možné vytvořit navigaci bez nutnosti použití ObservableObject v pohledu. Například můžete použít místní stav s @State nebo @StateObject, nebo předávat data přes Binding.

Příklad navigace s použitím @State:

struct ContentView: View {
    @State private var isDetailActive = false

    var body: some View {
        NavigationView {
            VStack {
                Button("Přejít na detaily") {
                    isDetailActive = true
                }
                NavigationLink(
                    destination: DetailView(),
                    isActive: $isDetailActive,
                    label: { EmptyView() }
                )
            }
            .navigationTitle("Hlavní")
        }
    }
}

struct DetailView: View {
    var body: some View {
        Text("Detaily")
    }
}

Proto je ObservableObject potřeba pouze tehdy, pokud je potřeba reaktivní aktualizace dat z externího zdroje, ale pro jednoduchou navigaci se bez něj obejdete.