添加新实体时的Swift错误(核心数据)

时间:2015-03-27 17:14:48

标签: swift core-data

我刚刚使用Core Data创建了一个新的xcode项目(Master-datail应用程序)。 在我创建了一个新实体(没有添加到控制器中的代码)后,我试图在iOS模拟器上打开应用程序,我收到了这个错误

  

2015-03-27 17:59:20.882 Blog Reader [2677:301117] CoreData:错误:   -addPersistentStoreWithType:SQLite配置:(null)URL:file:/// Users / stevik / Library / Developer / CoreSimulator / Devices / 29A6C356-8AFA-48BA-B0C0-B6031D760ECE / data / Containers / Data / Application / 88603D30-BAED- 4F1A-95AB-ADD87C3A469B /文档/ Blog_Reader.sqlite   options:(null)...返回错误Error Domain = NSCocoaErrorDomain   Code = 134100“操作无法完成。(Cocoa错误   134100.)“UserInfo = 0x78f4edd0 {metadata = {       NSPersistenceFrameworkVersion = 519;       NSStoreModelVersionHashes = {           事件=< 5431c046 d30e7f32 c2cc8099 58add1e7 579ad104 a3aa8fc4 846e97d7 af01cc79&gt ;;       };       NSStoreModelVersionHashesVersion = 3;       NSStoreModelVersionIdentifiers =(           “”       );       NSStoreType = SQLite;       NSStoreUUID =“25DE15EE-E903-4544-888B-7326455CF4B3”;       “_NSAutoVacuumLevel”= 2; },reason =用于打开商店的模型与用于创建商店的模型不兼容   userInfo字典{       metadata = {           NSPersistenceFrameworkVersion = 519;           NSStoreModelVersionHashes = {               事件=< 5431c046 d30e7f32 c2cc8099 58add1e7 579ad104 a3aa8fc4 846e97d7 af01cc79&gt ;;           };           NSStoreModelVersionHashesVersion = 3;           NSStoreModelVersionIdentifiers =(               “”           );           NSStoreType = SQLite;           NSStoreUUID =“25DE15EE-E903-4544-888B-7326455CF4B3”;           “_NSAutoVacuumLevel”= 2;       };       reason =“用于打开商店的模型与用于创建商店的模型不兼容”; 2015-03-27 17:59:20.885博客   Reader [2677:301117]未解决的错误可选(错误   Domain = YOUR_ERROR_DOMAIN Code = 9999“无法初始化   应用程序保存的数据“UserInfo = 0x78ea27b0   {NSLocalizedDescription =无法初始化已保存的应用程序   data,NSUnderlyingError = 0x78f4edf0“操作不能   完成。 (可可错误134100.)“,NSLocalizedFailureReason =有   创建或加载应用程序保存的数据时出错。}),   可选([NSLocalizedDescription:无法初始化   应用程序保存的数据,NSUnderlyingError:错误   Domain = NSCocoaErrorDomain Code = 134100“操作不能   完成。 (可可错误134100.)“UserInfo = 0x78f4edd0 {metadata = {       NSPersistenceFrameworkVersion = 519;       NSStoreModelVersionHashes = {           事件=< 5431c046 d30e7f32 c2cc8099 58add1e7 579ad104 a3aa8fc4 846e97d7 af01cc79&gt ;;       };       NSStoreModelVersionHashesVersion = 3;       NSStoreModelVersionIdentifiers =(           “”       );       NSStoreType = SQLite;       NSStoreUUID =“25DE15EE-E903-4544-888B-7326455CF4B3”;       “_NSAutoVacuumLevel”= 2; },reason =用于打开商店的模型与用于创建商店的模型不兼容},   NSLocalizedFailureReason:创建或加载时出错   应用程序保存的数据。])

2 个答案:

答案 0 :(得分:7)

除非您实施模型迁移,否则无法更改Core Data模型并继续使用相同的持久存储文件。 Apple提供considerable documentation on this。但是,在应用程序开发期间,您通常只需从设备/模拟器中删除应用程序并安装新副本。这会删除任何现有数据,但在处理模型时通常可以。

答案 1 :(得分:1)

每当核心数据模型发生变化时,无论是添加了实体还是更改了任何属性。从模拟器中删除应用程序并再次运行它。它现在不会崩溃。