Core data 核心数据NSINTERNALINCONCONSTRICENCEPTION异常(这次不同)

Core data 核心数据NSINTERNALINCONCONSTRICENCEPTION异常(这次不同),core-data,nsmanagedobject,nsmanagedobjectcontext,Core Data,Nsmanagedobject,Nsmanagedobjectcontext,我知道在SO中有一百万个这样的问题,但这是不同的,我被难住了 我有一个包含十几个实体的数据模型。代码运行得很好。然后,我对模型进行了版本化,添加了一个实体和一个关系,然后在xdatamodeld文件中更新了当前版本化数据模型的设置,现在在尝试访问新实体时,我得到了NSInternalInconsistencyException 在我的主VC中,我记录上下文、持久存储协调器、托管对象模型和所有实体。一切看起来都和我期望的一样,包括我试图访问的实体 我已经把SQLite数据库吹走了,让核心数据重新创

我知道在SO中有一百万个这样的问题,但这是不同的,我被难住了

我有一个包含十几个实体的数据模型。代码运行得很好。然后,我对模型进行了版本化,添加了一个实体和一个关系,然后在xdatamodeld文件中更新了当前版本化数据模型的设置,现在在尝试访问新实体时,我得到了NSInternalInconsistencyException

在我的主VC中,我记录上下文、持久存储协调器、托管对象模型和所有实体。一切看起来都和我期望的一样,包括我试图访问的实体

我已经把SQLite数据库吹走了,让核心数据重新创建它,并且可以看到具有正确列类型的表

一切看起来都是正确的

以下是获取代码:

- (void)fetchMissions {
    NSFetchRequest *request = [[NSFetchRequest alloc] init];
    NSEntityDescription *entity = [NSEntityDescription entityForName:@"Mission" inManagedObjectContext:self.managedObjectContext];
    NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"title" ascending:YES];
    NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];

    [request setEntity:entity];
    [request setSortDescriptors:sortDescriptors];

    NSError *error = nil;
    missionsArray = [[self.managedObjectContext executeFetchRequest:request error:&error] mutableCopy];
}
以下是来自以下方面的输出:

NSLog(@"Entities : %@",[[self.managedObjectContext.persistentStoreCoordinator.managedObjectModel entities] valueForKey:@"name"]);


Entities : (
    Character,
    CharacterClass,
    CharacterCondition,
    CharacterObjective,
    CharacterPerception,
    Condition,
    Mission,
    Objective,
    Perception,
    PlayerCharacter,
    Scoreboard
)
在打印整个托管对象模型时,我还可以看到任务实体的详细信息,包括:

NSLog(@"MOM : %@", self.managedObjectContext.persistentStoreCoordinator.managedObjectModel);
实体非常简单。。。3列,两列为文本/字符串,一列为整数。模型编辑器中的实体描述与SQLite中的表定义匹配


我错过了什么好吧,所以我是个白痴

我在viewDidLoad中没有像在其他VCs中一样抓取MOC,因此当我从代表处打印出正确的MOC时,我在任务VC中没有对其进行处理

固定的

谢谢收听。:)