【问题标题】:Updatating Core Data XCDATAMODEL entities causing Fatal error更新核心数据数据模型实体导致致命错误
【发布时间】:2020-10-26 22:32:31
【问题描述】:

我更新并添加了现有核心数据实体的一些字段。 我没有看到任何更新选项,所以我不知道我所做的是否正确。我更新了一些字段类型并在 XCDATAMODEL 中添加了新字段,然后我删除了这个过时版本的实体的类(因为我在 XCDATAMODEL 中选择了在 Codegen 下手动生成代码类,老实说,我不确定它是否正在执行此操作),然后在我为该实体的第一个版本完成后,在 Menu -> Editor ->Create NSMnagedObject Subclass 中再次选择.

激活模拟器后立即出现此错误:

Thread 1: Fatal error: Unresolved error Error Domain=NSCocoaErrorDomain Code=134140 "Persistent store migration failed, missing mapping model." UserInfo={destinationModel=(<NSManagedObjectModel: 0x60000249e170>) isEditable 0, entities {
OccupiedSpace = "(<NSEntityDescription: 0x60000308ce70>) name OccupiedSpace, managedObjectClassName OccupiedSpace, renamingIdentifier OccupiedSpace, isAbstract 0, superentity name (null), properties {\n    assignedTaskId = \"(<NSAttributeDescription: 0x60000298bb8

这是实体类,我添加了月份和年份字段并将startTime的类型从Date更改为Int32:

import Foundation
import CoreData


extension OccupiedSpace {

    @nonobjc public class func fetchRequest() -> NSFetchRequest<OccupiedSpace> {
        return NSFetchRequest<OccupiedSpace>(entityName: "OccupiedSpace")
    }


    @NSManaged public var startTime: Int32
    @NSManaged public var year: Int32
    @NSManaged public var month: Int32


}

【问题讨论】:

标签: ios swift core-data nsmanagedobject


【解决方案1】:

当你更新核心数据中的实体时,你需要做一个migration

如果您在仅开发中更新实体,您可以在再次运行项目之前先在模拟器/设备中删除应用

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-01-28
    • 1970-01-01
    • 2018-08-11
    • 2012-04-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-09-02
    相关资源
    最近更新 更多