导航 Link 仅在 SwiftUI 中有效一次

Navigation Link only works once in SwiftUI

在名为 BuildingListsAndNavigation 的苹果 SwiftUI 代码教程中,它们向您展示了如何使用 NavigationLinks。但是,一旦您单击 link 然后点击导航后退按钮,相同的 link 将被禁用,直到您点击另一个 link,然后再次点击后退按钮。

这个问题不仅仅发生在苹果的 SwiftUI 教程中,它也发生在我自己的 SwiftUI 项目中。我该怎么做才能连续点击同一个 link 两次?

这是一些示例代码

struct LandmarkList: View {
    var body: some View {
        NavigationView {
            List(0 ..< 5) { number in
                NavigationLink(destination: Text("next page")) {
                        Text("Row\(number)")
                }
            }
            .navigationBarTitle(Text("Landmarks"))
        }
    }
}

它适用于设备而不是模拟器。

NavigationLink 目前有 2 个主要错误。第一个是你提到的你不能访问同一个 link 两次。如果你决定添加第二个 link 以便至少测试你的 UI 你会遇到第二个错误,即当你点击第二个 link 然后在它按下它然后弹回根.

这是最新的 Xcode 版本 11.3 (11C29) 及其包含的 iOS 13.3 (17C45) 模拟器。

iOS iPhone XR 上的 13.3 (17C45) 没有这些错误,这很奇怪,因为它与模拟器的内部版本号相同。

似乎错误已在 Xcode 11.4

上修复