Macos reason=“用于打开存储的模型与用于创建存储的模型不兼容”
我正在使用核心数据创建os x应用程序。当我修改模型时。出现了图像中显示的错误。显示的原因是用于打开存储的模型与用于创建存储的模型不兼容;如何修复此错误。我通过清除iOS应用程序中的模拟器修复了相同的错误。如何在OSX应用程序中修复此问题Macos reason=“用于打开存储的模型与用于创建存储的模型不兼容”,macos,core-data,Macos,Core Data,我正在使用核心数据创建os x应用程序。当我修改模型时。出现了图像中显示的错误。显示的原因是用于打开存储的模型与用于创建存储的模型不兼容;如何修复此错误。我通过清除iOS应用程序中的模拟器修复了相同的错误。如何在OSX应用程序中修复此问题 如果查看设置persistentStoreCoordinator的代码,它应该会告诉您对象的存储位置和文件名。Apple模板中的默认位置由应用程序委托中的applicationDocumentsDirectory方法提供。非基于文档的核心数据应用程序的数据存储
如果查看设置persistentStoreCoordinator的代码,它应该会告诉您对象的存储位置和文件名。Apple模板中的默认位置由应用程序委托中的applicationDocumentsDirectory方法提供。非基于文档的核心数据应用程序的数据存储通常位于~/Library/application/Support/com.mydomain.myapp/cococoaappcd.storedata中 根据文件内容是否为一次性文件,重命名或删除此文件 重新启动应用程序将在没有数据的情况下重新创建文件,您可以根据新模型开始重新填充文件
对于应用程序的生产版本,模型更改将需要正式的轻量或重量迁移来保留用户的数据 为了方便起见,在启动时,我将数据库的位置打印到控制台,如下所示:
// 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))
除了易于查看之外,我还可以选择/copy/pass来在sqliteBrowser中使用。通过单击键盘上的选项按钮,选择Finder并从go转到库。然后使用应用程序包标识符搜索库。删除包含它的文件夹。然后重新启动应用程序将在没有数据的情况下重新创建文件夹,您可以开始根据新模型重新填充该文件夹