3
我在我的NSManagedObject實例上觀察到以下行爲。核心數據管理對象的生存期
- ObjA是從NSManagedObjectContext ContextA加載的NSManagedObject實例。
- 我保留ObjA
- 我訪問ObjA的PropertyA(ObjA沒有關係,只有基本的屬性) - 所有的作品在這個階段
- 我從ContextA 刪除ObjA
- 罰款我救ContextA
- ObjA是沒有被釋放(因爲我對它進行了額外的保留)。例如,我仍然可以檢查它是否爲retainCount。
- 我訪問ObjA的PropertyA - >我得到SIGABRT
我不知道這是否是CoreData設計的工作方式或從我的代碼的副作用。
好的,那就解決了。儘管Core Data假設獨佔內存管理控制,但仍然有點奇怪。使共享託管對象變得有點棘手。 – 2011-03-08 10:14:31
你可以通過它們,只是不要先刪除它們。只要您在同一個線程中,您的託管對象上下文也可以傳遞。 – 2011-03-08 11:07:17