Junior — Middle
Çox sayda naviqasiya olan tətbiqdə çox keçidləri idarə etmək üçün tək bir NavigationLink komponentindən istifadə etmək mümkündürmü?
sobes.tech Süni İntellekt
AI-dan cavab
SwiftUI-də NavigationLink komponenti müəyyən bir görünüşə keçid yaratmaq üçün nəzərdə tutulmuşdur. Bir çox keçidi idarə etmək üçün tək NavigationLink istifadə etmək tövsiyə edilmir, çünki hər NavigationLink müəyyən bir məqsədlə (destination) əlaqələndirilmişdir. Çox sayda naviqasiya olan tətbiqlər üçün hər keçid üçün ayrıca NavigationLink yaratmaq və ya NavigationDestination və NavigationStack istifadə edərək proqramlı naviqasiyadan istifadə etmək daha yaxşıdır; burada naviqasiya vəziyyət (məsələn, müxtəlif ekranlar ilə enum) vasitəsilə idarə oluna bilər. Bu, daha təmiz və idarə olunan naviqasiyanı təmin edir.
Proqramlı naviqasiya ilə NavigationStack istifadəsinə nümunə:
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("Ətraflı keç") {
path.append(Screen.details)
}
Button("Ayarlar") {
path.append(Screen.settings)
}
}
.navigationDestination(for: Screen.self) { screen in
switch screen {
case .home:
Text("Əsas ekran")
case .details:
Text("Ətraflı ekran")
case .settings:
Text("Ayarlar ekran")
}
}
}
}
}