【问题标题】:Selected CoreData record between sessions in SwiftUISwiftUI 中会话之间的选定 CoreData 记录
【发布时间】:2021-02-16 09:26:03
【问题描述】:

我的 CoreData 由公司和员工组成 - 1 家公司可以有很多员工。

我允许用户选择一家公司,我的应用会显示员工 - 我希望在会话之间传递此公司选择。最好将此选择存储在 UserDefaults、CoreData 或其他方式中吗?我应该存储什么、公司的 UUID、整个实体等?还是我以错误的方式处理这一切?

任何帮助或指导将不胜感激。

【问题讨论】:

    标签: core-data swiftui


    【解决方案1】:
    @SceneStorage("ListView.selectedItem") private var selectedItemId: String?
    

    当您需要自动恢复值的状态时,您可以使用SceneStorageSceneStorage 的工作原理与State 非常相似,不同之处在于它的初始值如果之前保存过则由系统恢复,并且该值与同一场景中的其他SceneStorage 变量共享。 系统代您管理SceneStorage的保存和恢复。支持SceneStorage 的基础数据对您不可用,因此您必须通过SceneStorage 属性包装器访问它。系统不保证数据将被持久化的时间和频率。 -Apple

    把它放在用户选择的任何地方。

    NavigationLink(
        destination: Text("Item at \(item.timestamp!, formatter: itemFormatter)"),
        tag: item.objectID.description,
        selection: $selectedItemId,
        label: {Text("Item at \(item.timestamp!, formatter: itemFormatter)")})
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2020-05-05
      • 2020-06-21
      • 1970-01-01
      • 1970-01-01
      • 2020-07-14
      • 1970-01-01
      • 2020-05-30
      • 2015-07-19
      相关资源
      最近更新 更多