Junior — Middle
Çok sayıda gezinmeye sahip bir uygulamada birden fazla geçişi yönetmek için tek bir NavigationLink bileşeni kullanılabilir mi?
sobes.tech yapay zeka
AI'dan gelen yanıt
SwiftUI'de NavigationLink bileşeni, belirli bir görünüme geçiş yapmak için tasarlanmıştır. Birden fazla geçişi yönetmek için tek bir NavigationLink kullanmak önerilmez, çünkü her NavigationLink belirli bir hedefle (varış noktası) ilişkilidir. Çok sayıda navigasyon içeren uygulamalar için, her geçiş için ayrı bir NavigationLink oluşturmak veya NavigationDestination ve NavigationStack kullanarak programatik navigasyonu tercih etmek daha iyidir; burada navigasyonu duruma (örneğin, farklı ekranlar içeren enum) göre yönetebilirsiniz. Bu, daha temiz ve yönetimi kolay bir navigasyon sağlar.
Programatik navigasyon ile NavigationStack kullanımına örnek:
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("Detaylara git") {
path.append(Screen.details)
}
Button("Ayarlar") {
path.append(Screen.settings)
}
}
.navigationDestination(for: Screen.self) { screen in
switch screen {
case .home:
Text("Ana ekran")
case .details:
Text("Detay ekranı")
case .settings:
Text("Ayar ekranı")
}
}
}
}
}