Junior — Middle
Lehet-e navigációt létrehozni a felületen anélkül, hogy kötelező függőségeket fogadnánk el az ObservableObject-től a Nézetben?
sobes.tech MI
Válasz az MI-től
Igen, a SwiftUI-ban navigációt lehet létrehozni ObservableObject használata nélkül is a nézetben. Például, helyi állapotot használhatunk @State vagy @StateObject segítségével, vagy adatokat átadhatunk Binding segítségével.
Példa navigációra @State használatával:
struct ContentView: View {
@State private var isDetailActive = false
var body: some View {
NavigationView {
VStack {
Button("Részletekhez") {
isDetailActive = true
}
NavigationLink(
destination: DetailView(),
isActive: $isDetailActive,
label: { EmptyView() }
)
}
.navigationTitle("Fő")
}
}
}
struct DetailView: View {
var body: some View {
Text("Részletes képernyő")
}
}
Tehát, az ObservableObject csak akkor szükséges, ha külső forrásból származó adatok reaktív frissítésére van szükség, de egyszerű navigáció esetén el lehet hagyni.