【发布时间】:2011-03-26 01:46:15
【问题描述】:
在我的代码中,我试图访问 [NSManagedObject managedObjectContext],但令人惊讶的是它返回 nil。加载托管对象是因为我已经使用[NSManagedObject valueForKey:] 成功访问了它的值。是否存在 managedObjectContext 返回 nil 的情况?
【问题讨论】:
标签: iphone iphone-sdk-3.0 core-data
在我的代码中,我试图访问 [NSManagedObject managedObjectContext],但令人惊讶的是它返回 nil。加载托管对象是因为我已经使用[NSManagedObject valueForKey:] 成功访问了它的值。是否存在 managedObjectContext 返回 nil 的情况?
【问题讨论】:
标签: iphone iphone-sdk-3.0 core-data
官方documentation说:
如果接收者已从其上下文中删除,则可能是
nil。如果接收器出现故障,则访问此属性不会导致其触发。
【讨论】:
我可能错了,但对我来说,NSManagedObject 的 managedObjectContext 也设置为 nil,当这个对象变成故障时,我没有对其上下文的强引用。
【讨论】:
如果您直接使用init 初始化托管对象而不将其插入上下文,则它可能具有零上下文。如果插入它并为上下文传递一个 nil 值,它将有一个 nil 上下文。
【讨论】: