【问题标题】:Why do some of my core data objects have managedObjectContext set to nil?为什么我的一些核心数据对象将 managedObjectContext 设置为 nil?
【发布时间】:2010-09-03 20:04:14
【问题描述】:

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

之后立即发生的

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

【问题讨论】:

    标签: iphone core-data


    【解决方案1】:

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

    【讨论】:

    • Gads,我讨厌我那样做废话!不要忘记检查此答案(您可能需要等待 48 小时),以便系统将问题显示为已回答。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-08-09
    • 2023-02-11
    • 2012-12-17
    • 2017-02-18
    • 2011-12-19
    • 1970-01-01
    相关资源
    最近更新 更多