【问题标题】:Swift error when added new entity (Core Data)添加新实体时出现 Swift 错误(核心数据)
【发布时间】:2015-06-01 02:53:41
【问题描述】:

我刚刚使用 Core Data 创建了一个新的 xcode 项目(主数据应用程序)。 在我创建了一个新实体(没有将代码添加到控制器中)后,我尝试在 iOS 模拟器上打开应用程序,但出现此错误

2015-03-27 17:59:20.882 博客阅读器[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/Documents/Blog_Reader.sqlite options:(null) ... 返回错误 Error Domain=NSCocoaErrorDomain Code=134100 "操作无法完成。(Cocoa 错误 134100.)" 用户信息=0x78f4edd0 {元数据={ NSPersistenceFrameworkVersion = 519; NSStoreModelVersionHashes = { 事件 = ; }; NSStoreModelVersionHashesVersion = 3; NSStoreModelVersionIdentifiers = ( “” ); NSStoreType = SQLite; NSStoreUUID = "25DE15EE-E903-4544-888B-7326455CF4B3"; "_NSAutoVacuumLevel" = 2; }, reason=开店的型号和开店的型号不兼容} 用户信息字典 { 元数据 = { NSPersistenceFrameworkVersion = 519; NSStoreModelVersionHashes = { 事件 = ; }; NSStoreModelVersionHashesVersion = 3; NSStoreModelVersionIdentifiers = ( “” ); NSStoreType = SQLite; NSStoreUUID = "25DE15EE-E903-4544-888B-7326455CF4B3"; "_NSAutoVacuumLevel" = 2; }; reason = "开店的型号和开店的型号不兼容"; } 2015-03-27 17:59:20.885 博客 阅读器[2677:301117] 未解决的错误可选(错误 Domain=YOUR_ERROR_DOMAIN Code=9999 "初始化失败 应用程序保存的数据” UserInfo=0x78ea27b0 {NSLocalizedDescription=初始化应用程序保存失败 data, NSUnderlyingError=0x78f4edf0 "操作不能 完全的。 (Cocoa 错误 134100.)", NSLocalizedFailureReason=有 创建或加载应用程序保存的数据时出错。}), 可选([NSLocalizedDescription:无法初始化 应用程序保存的数据,NSUnderlyingError: Error Domain=NSCocoaErrorDomain Code=134100 "无法进行操作 完全的。 (可可错误 134100。)“UserInfo=0x78f4edd0 {metadata={ NSPersistenceFrameworkVersion = 519; NSStoreModelVersionHashes = { 事件 = ; }; NSStoreModelVersionHashesVersion = 3; NSStoreModelVersionIdentifiers = ( “” ); NSStoreType = SQLite; NSStoreUUID = "25DE15EE-E903-4544-888B-7326455CF4B3"; "_NSAutoVacuumLevel" = 2; }, reason=开店的型号和开店的型号不兼容}, NSLocalizedFailureReason:创建或加载 应用程序保存的数据。])

【问题讨论】:

    标签: swift core-data


    【解决方案1】:

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

    【讨论】:

    • 这对我有用。我只是从 iOS 模拟器中删除了该应用程序,一切正常。
    【解决方案2】:

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

    【讨论】:

    • 删除应用程序不是正确的解决方案。您将如何对 App Store 中已有的应用执行此操作?
    • 是的,只有当您正在开发并且尚未在应用商店上传应用时,删除才是解决方案。完成后,我们需要制作一个新版本的 Core Data 模型并更改新模型中的属性,并将新的二进制文件上传到应用商店。
    猜你喜欢
    • 1970-01-01
    • 2015-06-17
    • 2021-08-18
    • 2011-12-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-07-24
    • 2014-04-12
    相关资源
    最近更新 更多