2011-03-08 22 views
1

我有一个NSManagedObject只有属性(没有提取属性或relationshiops)。我保留实例,告诉托管上下文从图中删除对象,我坚持托管的上下文。从托管对象上下文中删除后使用保留的NSManagedObject是否安全?

从托管上下文中删除后使用实例是否安全?

循序渐进:

->retain NSManagedObject 
->remove NSManagedObject from managed object context 
->persist changes to the managed object context 
->use NSManagedObject 

回答

2

我不这么认为。 NSManagedObject属于商店。您使用商店创建并销毁它。如果你决定不这样做,要非常谨慎,因为NSManagedObject文档说,“重要的是要记住Core Data保留对被管理对象生命周期(即原始内存管理)的独占控制权。”

->remove NSManagedObject from managed object context 

这是否意味着该对象被释放?当然,你可以忽略它而不会泄漏。

因为只有属性的简单对象只需要复制它们,如果你需要保留它们。

0

请记住,如果你保留了一个对象,你有责任释放它。至于被删除的对象:您仍然有一个非零的保留计数,但是您必须采取措施不要使用它,因为它会导致“核心数据无法完成错误”消息(请参阅this

相关问题