1

我收到错误...

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...

???

4

1 回答 1

1

我假设Selection并且PartNSManagedObjects。

如果是这样,我将首先检查managedObjectContext属性,thePartselection作为健全性检查。如果他们是平等的,那么我会有点困惑。如果它们不同,那么我将重新检查获取/创建这些对象的方式。

如果其中一个managedObjectContext为 nil,则表明其中一个对象已从其托管对象上下文中删除。

于 2013-10-02T12:56:57.120 回答