为什么我的一些核心数据对象的managedObjectContext设置为nil?

时间:2010-09-03 20:04:15

标签: iphone core-data

我在向一个有关系的核心数据对象添加对象时遇到了问题,在做了一些调查后我意识到这是因为对象managedObjectContext是nil(0x0)。更多的调查显示,无论何时我创建了该类型的对象,managedObjectContext始终为零。我创建的任何其他类型的每个对象都有正确的managedObjectContext。不,该对象未被删除,这是在调用NSEntityDescription后立即执行的:insertNewObjectForEntityForName:inManagedObjectContext

为什么只会打破这个特定的对象?同样奇怪的是,即使managedObjectContext似乎是nil,否则它正常工作(除了关系问题)。我已经尝试过几次重置模拟器,我甚至重新生成了核心数据为该对象生成的.h和.m文件,但我无法让它工作。据我所知,没有错误,managedObjectContext永远不会被设置。

1 个答案:

答案 0 :(得分:0)

我明白了。我添加了一个名为managedObjectContext的成员变量,我本能地将其添加到我的应用程序中的大多数类中,因为我几乎总是需要它。我没有意识到的是,我在父类NSManagedObject中重写了相同名称的方法。这就是为什么它被重置为nil并且仍然有效,直到我尝试添加查询managedObjectContext的关系,发现它为零并且抱怨。