这可能是一个非常愚蠢的问题,请提前对不起。
我正在使用核心数据和SwiftUI,并且我尝试使用一个简单的应用程序来存储笔记,但似乎无法使预览正常工作。该应用在模拟器上运行良好,但在预览画布上崩溃。我已经阅读了很多Reddit和StackOverflow问题,但是它们都与我的问题无关。
我已经将context
变量传递给了我的视图,并且我100%确信不是由这个原因引起的,因为崩溃报告显示为Persistent store migration failed, missing mapping model
。我知道它要求一个迁移,但是我没有更改任何数据模型(这是一个全新的项目),并且该应用在模拟器上的运行情况非常好,因此我不确定这是否真的是崩溃的原因。
我能想到的是,SwiftUI的预览画布可能与其他项目共享同一数据库,并且发生冲突(这很有意义,因为我有其他也使用核心数据的项目也在SwiftUI中制作并共享一些实体的名称。)
在使用Realm时,我也遇到了同样的问题,在使用预览画布时,我通过删除Realm数据库文件解决了这些问题,因此每次运行都会清空数据库,因此我没有任何问题。 这是一个好方法吗?我应该这样做吗?
我将展示我的代码,但实际上它只是一个ForEach
,它会循环访问名为Note
的实体。
答案 0 :(得分:3)
尝试从此处删除预览画布
~/Library/Developer/Xcode/UserData/Previews/Simulator Devices/
然后在命令行中运行以下
killall -9 com.apple.CoreSimulator.CoreSimulatorService
最终重启xCode
答案 1 :(得分:1)
如果您使用了模拟器,您还需要在 /Users/YOURNAME/Library/Application Support 中删除模型的商店