Junior — Middle
Ar įmanoma sukurti navigaciją sąsajoje be privalomų priklausomybių nuo ObservableObject vaizde?
sobes.tech AI
Atsakymas iš AI
Taip, SwiftUI galima sukurti navigaciją be būtinybės naudoti ObservableObject. Pavyzdžiui, galima naudoti vietinę būseną su @State arba @StateObject, arba perduoti duomenis per Binding.
Pavyzdys naudojant @State:
struct ContentView: View {
@State private var isDetailActive = false
var body: some View {
NavigationView {
VStack {
Button("Peržiūrėti detales") {
isDetailActive = true
}
NavigationLink(
destination: DetailView(),
isActive: $isDetailActive,
label: { EmptyView() }
)
}
.navigationTitle("Pagrindinis")
}
}
}
struct DetailView: View {
var body: some View {
Text("Detalių ekranas")
}
}
Todėl, ObservableObject reikalingas tik jei reikalingas reaguojantis duomenų atnaujinimas iš išorinio šaltinio, tačiau paprastai navigacijai galima be jo apsieiti.