【问题标题】:NSManagedObject property managedObjectContext has no valueNSManagedObject 属性 managedObjectContext 没有值
【发布时间】:2011-03-26 01:46:15
【问题描述】:

在我的代码中,我试图访问 [NSManagedObject managedObjectContext],但令人惊讶的是它返回 nil。加载托管对象是因为我已经使用[NSManagedObject valueForKey:] 成功访问了它的值。是否存在 ma​​nagedObjectContext 返回 nil 的情况?

【问题讨论】:

    标签: iphone iphone-sdk-3.0 core-data


    【解决方案1】:

    官方documentation说:

    如果接收者已从其上下文中删除,则可能是nil。如果接收器出现故障,则访问此属性不会导致其触发。

    【讨论】:

      【解决方案2】:

      我可能错了,但对我来说,NSManagedObject 的 managedObjectContext 也设置为 nil,当这个对象变成故障时,我没有对其上下文的强引用。

      【讨论】:

        【解决方案3】:

        如果您直接使用init 初始化托管对象而不将其插入上下文,则它可能具有零上下文。如果插入它并为上下文传递一个 nil 值,它将有一个 nil 上下文。

        【讨论】:

        • 不看代码不能说。让它拥有 nil 上下文的唯一方法是永远不要给它一个。我什至认为一旦将其分配给一个,您就不能将其设置为零。您是如何创建托管对象的?
        • 你是对的TechZen,对象在初始化时被错误地赋予了nil managedObjectContext。谢谢:)
        猜你喜欢
        • 1970-01-01
        • 2011-07-25
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2014-01-13
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多