core-data - SwiftUI 中会话之间的选定 CoreData 记录
问题描述
我的 CoreData 由公司和员工组成 - 1 家公司可以有很多员工。
我允许用户选择一家公司,我的应用程序显示员工 - 我希望在会话之间传递这个公司选择。最好将此选择存储在 UserDefaults、CoreData 或其他方式中吗?我应该存储什么、公司的 UUID、整个实体等?还是我以错误的方式处理这一切?
任何帮助或指导将不胜感激。
解决方案
@SceneStorage("ListView.selectedItem") private var selectedItemId: String?
您SceneStorage
在需要自动状态恢复值时使用。SceneStorage
工作原理与 非常相似State
,只是它的初始值如果之前保存过则由系统恢复,并且该值与SceneStorage
同一场景中的其他变量共享。系统代您管理保存和恢复SceneStorage
。支持的基础数据SceneStorage
对您不可用,因此您必须通过SceneStorage
属性包装器访问它。系统不保证数据将被持久化的时间和频率。-苹果
将它放在用户进行选择的任何地方。
NavigationLink(
destination: Text("Item at \(item.timestamp!, formatter: itemFormatter)"),
tag: item.objectID.description,
selection: $selectedItemId,
label: {Text("Item at \(item.timestamp!, formatter: itemFormatter)")})
推荐阅读
- sublimetext3 - Sublime3 的 Markdown 突出显示在 Ubuntu 中不起作用(在 Windows 中运行良好)
- r - R:遍历列的唯一值并计算新变量
- python - 将 excel 程序转换为用于 pH 计表的 python 程序
- python-3.x - 图像处理:使用 PIL.paste 合并图像
- android - FloatActionButton 事件点击
- java - Android kotlin - 片段内 with(context) 的未解决参考
- php - 我无法让我的 php 添加我需要添加的所有内容
- python - Python,连接一个系列的开头和结尾的两个数据点
- php - Laravel 5.4 [查看] 如何插入输入文本 eg: name:/matrix number: 在表单调用输入的前面
- sql - 将两列的总和触发到第三个 SQL