是否需要手动清理子管理对象上下文?

时间:2013-12-08 04:52:41

标签: objective-c core-data nsmanagedobjectcontext

最近,我使用Core Data开发了一个应用程序。考虑到与Core Data的并发性,我使用了this great article基本的父/子MOC模式。

然而,还有一个问题 - 儿童MOC是否需要在保存后手动清洁?即childContext = nil; 关于父/子MOC模式的文档较少。

有人可以帮我一把吗?非常感谢。

1 个答案:

答案 0 :(得分:1)

是的,一旦您完成工作,就应该删除子上下文。

如果你有一个强/保留@property指向子上下文,你应该在不再需要它时将其设置为nil。

如果您没有任何强/保留属性,那么ARC将插入一行代码,以便在使用childContext的最后一行代码之后立即释放子上下文。

如果禁用ARC,则应在下次闲置时自动释放它。

所以基本上,你不需要手动删除它。但在某些情况下,您必须手动执行此操作。您将找不到任何关于此的特定于托管对象的文档,它是objective-c中的标准内存管理,只有在行为不同时才会记录。