首页 > 解决方案 > SwiftUI Preview Canvas 与核心数据一起崩溃

问题描述

这可能是一个非常愚蠢的问题,所以提前抱歉。

我正在使用核心数据和 SwiftUI,我正在尝试制作一个简单的应用程序来存储笔记,但我似乎无法让预览工作。该应用程序在模拟器上运行良好,但在预览画布上崩溃。我已经阅读了很多 Reddit 和 StackOverflow 问题,但没有一个与我的问题有关。

我已经将context变量传递给我的视图,并且我 100% 确定这不是因为崩溃报告说的Persistent store migration failed, missing mapping model。我知道它说它需要迁移,但我没有更改任何数据模型(它是一个全新的项目),并且该应用程序在模拟器上运行良好,所以我不确定这是否真的是崩溃的原因。

我能想到的只是 SwiftUI 的预览画布可能与其他项目共享同一个数据库并且它是冲突的(这有点道理,因为我有其他项目也使用核心数据,也是在 SwiftUI 中制作的,并且共享名称一些实体)。

我在使用 Realm 时遇到了同样的问题,我通过在使用预览画布时删除 Realm 数据库文件解决了这些问题,因此每次运行都会清空数据库,我没有任何问题。这是一个好方法吗?我应该这样做吗?

我会展示我的代码,但它实际上只是一个ForEach迭代一个名为Note.

标签: iosswiftcore-dataswiftui

解决方案


尝试从此处删除预览画布

~/Library/Developer/Xcode/UserData/Previews/Simulator Devices/

然后在命令行中运行以下

killall -9 com.apple.CoreSimulator.CoreSimulatorService

最后重新启动xCode


推荐阅读