reason ="用于打开商店的模型与用于创建商店的模型不兼容。

时间:2016-09-12 10:14:23

标签: macos core-data

我正在使用核心数据创建os x app。当我修改模型。发生的错误显示在图像中。显示的原因是"用于打开商店的模型与用于创建商店的模型不相容&#34 ;;如何解决此错误。我在iOS应用程序中清除模拟器修复了同样的错误。如何在os x app中解决这个问题。

enter image description here

4 个答案:

答案 0 :(得分:0)

如果您查看设置persistentStoreCoordinator的代码,它应该告诉您对象的存储位置和文件名。 (Apple模板的默认位置由app delegate中的applicationDocumentsDirectory方法提供。)

答案 1 :(得分:0)

非基于文档的Core Data应用程序的数据存储的常用位置在~/Library/Application/Support/com.mydomain.myapp/CocoaAppCD.storedata

重命名或删除此文件(取决于其内容是否为一次性用途)。

重新启动您的应用程序将重新创建没有数据的文件,您可以根据新模型重新填充它。

对于应用程序的生产版本,模型更改需要正式的轻量级或大量迁移才能保留用户的数据。

答案 2 :(得分:0)

为方便起见,我在启动时将数据库的位置打印到控制台,如下所示:

    // Get / print location of database for use in testing / debugging

    let paths = NSSearchPathForDirectoriesInDomains(FileManager.SearchPathDirectory.documentDirectory, FileManager.SearchPathDomainMask.userDomainMask, true)
    let path = paths[0] + "/LocalStore.sqlite"
    print(path.trimmingCharacters(in: CharacterSet.whitespacesAndNewlines))

除了容易看到之外,我可以选择/复制/过去在sqliteBrowser中使用。

答案 3 :(得分:-1)

选择Finder并通过单击键盘上的选项按钮转到Library from Go。然后使用您的应用程序Bundle Identifier搜索库。用它删除文件夹。然后重新启动您的应用程序将重新创建没有数据的文件夹,您可以根据新模型重新填充它。