2010-08-05 95 views
0

在我的代碼中,我試圖訪問[NSManagedObject managedObjectContext],但令人驚訝的是它返回。被管理的對象被加載,因爲我已經使用[NSManagedObject valueForKey:]成功地訪問了它的值。是否有任何情況managedObjectContext返回NSManagedObject屬性managedObjectContext沒有值

回答

1

如果您使用init直接初始化管理對象而不將其插入到上下文中,那麼它可能沒有上下文。如果插入它併爲上下文傳遞一個零值,則它將具有一個無上下文。

+0

不,我沒有手動初始化管理對象。 – 2010-08-05 23:25:54

+0

不能說沒有看到代碼。它沒有上下文的唯一方法就是永遠不要給它一個。我甚至認爲你一旦把它分配給它就不會設置它。你如何創建託管對象? – TechZen 2010-08-05 23:37:33

+0

你是對的TechZen,該對象在初始化時被錯誤地賦予了null的managedObjectContext。謝謝 :) – 2010-08-05 23:55:33

0

我可能是錯的,但對我來說ManageObjectContext也被設置爲nil NSManagedObject,當這個對象變成了一個錯誤時,我沒有強烈的引用它的上下文。

0

官方documentation說:

可能nil如果接收器已經從它的上下文中刪除。如果接收器出現故障,則訪問此屬性不會導致它觸發。