Ios 在SwiftUI中,为什么由于ObserverObject更改而更新视图会使导航自动弹出?
我在导航堆栈中有一个视图,它依赖于稍后更改的ObservedObject。当这种变化发生时,导航控制器会自动弹出。为什么会发生这种情况以及如何避免 这是视图代码的一部分Ios 在SwiftUI中,为什么由于ObserverObject更改而更新视图会使导航自动弹出?,ios,swiftui,navigationlink,swiftui-navigationlink,Ios,Swiftui,Navigationlink,Swiftui Navigationlink,我在导航堆栈中有一个视图,它依赖于稍后更改的ObservedObject。当这种变化发生时,导航控制器会自动弹出。为什么会发生这种情况以及如何避免 这是视图代码的一部分 struct ProductDetailView: View { @ObservedObject var photosLibraryHelper = PhotosLibraryHelper.shared var body: some View { ... Button(action: {
struct ProductDetailView: View {
@ObservedObject var photosLibraryHelper = PhotosLibraryHelper.shared
var body: some View {
...
Button(action: {
// What to perform
print("tap")
}) {
if photosLibraryHelper.authorized{
NavigationLink(destination: ProductsView()){
CTAButton(title:"JUMP")
}
}else{
NavigationLink(destination: PhotosPermissionView()){
CTAButton(title:"CREATE")
}
}
}
...
我也有同样的问题,你解决了吗?不幸的是没有。我必须解决它。顺便说一句,这不是一个好的解决方案。在我的例子中,问题是我有一个
ForEach
来创建NavigationLink
s,并且没有在数组中使用可识别的元素。