Sobes.tech
Junior — Middle

È possibile creare una navigazione nell'interfaccia senza accettare dipendenze obbligatorie da ObservableObject nella Vista?

sobes.tech AI

Risposta dell'AI

Sì, in SwiftUI è possibile creare una navigazione senza dover necessariamente usare ObservableObject nella vista. Ad esempio, si può usare uno stato locale con @State o @StateObject, oppure passare i dati tramite Binding.

Esempio di navigazione con @State:

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

    var body: some View {
        NavigationView {
            VStack {
                Button("Vai ai dettagli") {
                    isDetailActive = true
                }
                NavigationLink(
                    destination: DetailView(),
                    isActive: $isDetailActive,
                    label: { EmptyView() }
                )
            }
            .navigationTitle("Principale")
        }
    }
}

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

Pertanto, ObservableObject è necessario solo se si richiede un aggiornamento reattivo dei dati da una fonte esterna, ma per una navigazione semplice si può anche evitare di usarlo.