Ios 在SwiftUI中,为什么由于ObserverObject更改而更新视图会使导航自动弹出?

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: {

我在导航堆栈中有一个视图,它依赖于稍后更改的ObservedObject。当这种变化发生时,导航控制器会自动弹出。为什么会发生这种情况以及如何避免

这是视图代码的一部分

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,并且没有在数组中使用可识别的元素。