Junior — Middle
Czy można utworzyć nawigację w interfejsie bez akceptowania obowiązkowych zależności od ObservableObject w Widoku?
sobes.tech AI
Odpowiedź od AI
Tak, w SwiftUI można tworzyć nawigację bez konieczności używania ObservableObject w widoku. Na przykład można użyć lokalnego stanu za pomocą @State lub @StateObject, albo przekazywać dane przez Binding.
Przykład nawigacji z użyciem @State:
struct ContentView: View {
@State private var isDetailActive = false
var body: some View {
NavigationView {
VStack {
Button("Przejdź do szczegółów") {
isDetailActive = true
}
NavigationLink(
destination: DetailView(),
isActive: $isDetailActive,
label: { EmptyView() }
)
}
.navigationTitle("Główna")
}
}
}
struct DetailView: View {
var body: some View {
Text("Ekran szczegółów")
}
}
Dlatego ObservableObject jest potrzebny tylko wtedy, gdy wymagana jest reaktywna aktualizacja danych z zewnętrznego źródła, ale dla prostej nawigacji można się bez niego obejść.