我遇到了一个场景,我需要将核心数据实体的顺序存储在多对多关系中。我打算在关系中使用永久ID对象,但是在未保存(无标题)文档上调用时,以下代码会导致错误。 (我希望实现类似于BWOrderedManagedObject的东西。)
if(!widget)
{
widget = [[Widget alloc] initWithContext:[delegate managedObjectContext]];
NSError* error = nil;
if(![[widget managedObjectContext] obtainPermanentIDsForObjects:[NSArray arrayWithObject:widget] error:&error])
{
NSLog(@"%@", error);
}
}
但是,当调用obtainPermanentIDsForObjects:error:
时,会导致以下错误:
用于打开商店的模型配置与用于创建商店的模型配置不兼容。
在文档保存之前我是否可以获得永久ID?
答案 0 :(得分:5)
获取对象的永久ID需要将该对象写出到数据库。从本质上讲,它是以特殊的方式保存对象。它和真正的存储一样昂贵,它绝对需要你在磁盘上存储。