swift - 如何为 SwiftUI 子视图提供预览数据
问题描述
大多数示例以及 Apple 模板都使用平面数据模型,其中列表填充了 Core Data 持久化的数据,尤其是与导航视图相关的数据。这是非常不言自明的,在 Persistence.swift 中定义的示例数据意味着它被排除在视图文件之外。
在任何子视图中如何为预览提供数据还不太清楚,在明显的频道中搜索时也很少有这样的例子。似乎建议将对象通过导航链接传递到子视图,然后可以在其中列出它们。这没有任何问题(除了一对多关系作为 NSSet 出现的事实,需要将其转换为要在子视图中列出的数组)。但预览是另一回事,可用的少数答案似乎暗示应该在预览中定义预览数据。但这看起来并不枯燥,并且会导致在具有许多视图的项目中出现大量重复。我宁愿保持视图不受此类数据的影响。
如何以 SwiftUI 惯用的方式实现这一点?
我在https://github.com/mbergek/geography上设置了一个示例项目,对默认的核心数据模板进行了最小的更改。我想在 Persistence.swift(或其他地方)中重用我的示例数据,而不必在预览(CountryView.swift)中重复定义。
解决方案
推荐阅读
- arrays - 在excel中创建排除重复项的列表
- python - 如何在 Python 上处理包含 3 字节单词的二进制数据?
- javascript - 获取使用 Dropzone 上传的文件并将其添加到输入字段以在服务器上进行处理
- c# - 数据上下文绑定在主细节场景中丢失
- css - 50% 的边界半径在提交但不是文本输入
- anylogic - 任何逻辑中基于代理大小的服务块
- r - R:如何根据模式从字符串中提取文本片段
- batch-file - For /F 循环如何使用 awk 或 tr 从结果中删除引号
- vb.net - VB.NET 选项卡控件在更改选项卡时暂停绘图
- php - 无法设置 Cookie