在我的代码中,我尝试访问[NSManagedObject managedObjectContext]
,但令人惊讶的是它返回 nil 。加载托管对象是因为我已使用[NSManagedObject valueForKey:]
成功访问了它的值。是否存在 managedObjectContext 返回 nil 的情况?
答案 0 :(得分:1)
如果使用init
直接初始化托管对象而不将其插入上下文,则它可能具有nil上下文。如果插入它并为上下文传递nil值,则它将具有nil上下文。
答案 1 :(得分:0)
我可能错了,但是对于我来说,对于NSManagedObject,managedObjectContext也被设置为nil,当这个对象变成了一个错误时,我没有强烈的引用它的上下文。
答案 2 :(得分:0)
官方documentation说:
如果接收者已从其上下文中删除,则可能为
nil
。如果接收器是故障,访问此属性不会导致它触发。