来自不同背景的物体,即使它们不是

时间:2013-10-02 12:47:06

标签: ios objective-c core-data nsmanagedobject

我收到了错误......

Terminating app due to uncaught exception 'NSInvalidArgumentException',
reason: 'Illegal attempt to establish a relationship 'part' between objects in different contexts

我已经跟踪了获取Part对象和Selection对象的上下文,它们100%来自相同的上下文。

然后我使用字典......

@{
    @"part" : thePart,
    @"name" : @"Some name",
    @"value" : @"Some value"
}

功能......

Selection *selection = [Selection insertInManagedObjectContext:self.innerContext];
[selection setValuesForKeysWithDictionary:dictionary];

self.innerContext与我用来获取Part对象的上下文相同。它甚至归同一个对象所有。

我不确定我能做些什么来检查这一切,因为一切都应该有效?

修改

好的,不确定这里发生了什么。

当我保存选择时,part.managedObjectContextnil ...

???

1 个答案:

答案 0 :(得分:1)

我假设SelectionPartNSManagedObject s。

如果是这样,我首先会检查managedObjectContextthePart上的selection属性,只是作为一个完整性检查。如果他们是平等的,那我就有点困惑了。如果它们不同,那么我将重新检查获取/创建这些对象的方式。

如果managedObjectContext为{0},则表示其中一个对象已从其托管对象上下文中删除。