Junior — Middle
Көп навигациясы бар колдонмодо көп өтүүлөрдү башкаруу үчүн бир NavigationLink компоненти колдонулушу мүмкүнбү?
sobes.tech AI
AIден жооп
SwiftUIде NavigationLink компоненти белгилүү бир көрүнүшкө өтүү үчүн арналган. Бир нече өтүүлөрдү башкаруу үчүн бир NavigationLink колдонуу сунушталбайт, анткени ар бир NavigationLink конкреттүү максатка (destination) байланышкан. Көптөгөн навигациялар менен тиркемелер үчүн ар бир өтүү үчүн өзүнчө NavigationLink түзүү же NavigationDestination жана NavigationStack аркылуу программалык навигацияны колдонуу жакшыраак; анда навигацияны абал аркылуу (мисалы, ар кандай экрандар менен enum) башкарса болот. Бул таза жана башкарылуучу навигацияны камсыздайт.
Программалык навигация менен NavigationStack колдонуу мисалы:
enum Screen {
case home
case details
case settings
}
struct ContentView: View {
@State private var path = NavigationPath()
var body: some View {
NavigationStack(path: $path) {
VStack {
Button("Деңгээлдерге өт") {
path.append(Screen.details)
}
Button("Настройкалар") {
path.append(Screen.settings)
}
}
.navigationDestination(for: Screen.self) { screen in
switch screen {
case .home:
Text("Башкы экран")
case .details:
Text("Деңгээлдер экраны")
case .settings:
Text("Настройкалар экраны")
}
}
}
}
}