Swiftui 快捷方式:点击列表条目后,无法重新打印

Swiftui 快捷方式:点击列表条目后,无法重新打印,swiftui,Swiftui,我有一个非常简单的观点: import SwiftUI struct DataSceneSectionView: View { @ObservedObject var model: DataSceneSectionModel var body: some View { ForEach(Array(model.entries.enumerated()), id: \.element) { (index, entry) in N

我有一个非常简单的观点:

import SwiftUI


struct DataSceneSectionView: View {


    @ObservedObject var model: DataSceneSectionModel


    var body: some View {

        ForEach(Array(model.entries.enumerated()), id: \.element) { (index, entry) in

            NavigationLink(destination: DataSceneEntryView(model: entry.model)) {

                Text(entry.title)
                .tag(index)
            }
        }
    }
}
模型如下所示:

import Foundation
import SwiftUI


final class DataSceneSectionModel: ObservableObject {


    @Published var entries: [DataSceneSectionEntry] = []


    var dataTypeGroup: DataTypeGroup


    init(dataTypeGroup: DataTypeGroup) {

        self.dataTypeGroup = dataTypeGroup

        self.entries = buildEntries()
    }


    private func buildEntries() -> [DataSceneSectionEntry] {

        return DataType.allCases
            .filter({

                return $0.group == dataTypeGroup
            })
            .map({

                return DataSceneSectionEntry(dataType: $0)
            })
    }
}


struct DataSceneSectionEntry: Identifiable, Hashable {

    var id = UUID()

    var dataType: DataType

    var title: String { return dataType.localizedPlural }
    var model: DataSceneEntryModel { return DataSceneEntryModel(dataType: dataType) }
}
现在,有一个奇怪的效果:当点击其中一个条目时,链接视图显示正确。返回并点击其他条目后,该条目的链接视图也会正确显示。但是:当点击与之前相同的条目时,它只是高亮显示,但不执行任何操作

我怀疑缺少
标记
修饰符,但这并没有改变任何事情


你知道如何解决这个问题吗?

这能回答你的问题吗?谢谢你的提示。我尝试过,但效果非常奇怪(点击一个条目打开子视图的次数与ForEach中元素存在的次数相同)。除此之外,我不想像在建议解决方案中那样更改默认导航。我尝试通过添加缺少的视图和模型来编译代码,但这需要大量工作。如果你发布了一个编译和演示该问题的示例,这将大大有助于获得答案。我在这里用完整的代码创建了一个要点:有趣的是,我在第二次点击菜单项时得到了这个控制台消息:>>>>2020-02-11 16:59:01.770623+0100 XYZ[32788:2101443][TableView]仅警告一次:UITableView被告知布局其可见单元格和其他内容,而不在视图层次结构中(尚未将表视图或其超级视图之一添加到窗口)。