你好,我试图使用一个简单的导航链接,但似乎这种方法已经贬值与这个新的IOS更新。我试着看苹果的文档,试图修复它,但我不知道如何。在IOS 16中,我得到了以下错误:在navigationStack或navigationsplitview中使用NavigationLink(value:label:)我还将在下面添加代码。有人知道怎么正确格式化吗?
@EnvirnmentObject var viewModel: AuthViewModel()
var body: some View {
NavigationLink(destination: ProfileView(), isActive:
$viewModel.user, label: {})
}
}
在iOS 16中导航有明显的变化。如果你的导航栏看起来像:
@State private var viewModel = ViewModel()
var body: some View {
NavigationView {
List {
NavigationLink("User name", isActive: $viewModel.user) {
UserDetail(user: viewModel.user)
}
}
}
.navigationViewStyle(.stack)
}
使用相反
@State private var viewModel = ViewModel()
var body: some View {
NavigationStack {
List {
NavigationLink("User Name", value: user)
}
.navigationDestination(for: User.self) { user in
UserDetail(user: user)
}
}
}
你可以在https://developer.apple.com/documentation/swiftui/migrating-to-new-navigation-types
找到更多的细节