ARK中的核心数据模型对象使用retain

时间:2012-06-01 16:53:26

标签: core-data automatic-ref-counting

当我在ARC模式下在CoreData中为我的实体创建模型对象时,它会生成retain而不是strong。那么保留工作并在ARC模式下编译也是如此吗?我认为在ARC模式下我们不能使用release,autorelease和retain关键字?

2 个答案:

答案 0 :(得分:4)

你的意思是它会生成这样的@property声明吗?

@property (nonatomic, retain) MyObject *object;

retain属性属性表示ARC下的strong

4.1.1. Property declarations

答案 1 :(得分:4)

请查看以下答案:https://stackoverflow.com/a/10036821/662605

要点是,如果您@synthesize属性,那么在引擎盖下生成的代码将依赖于retain类型(retainassign,{ {1}})。

生成的托管对象子类使用copy而不是@dynamic,所有这些东西都是神奇地为你发生的,所以实际上,尽管它很混乱,@synthesize关键字没有被使用它会看来,因此ARC并没有抱怨......我很确定就是这样。

虽然我确实尝试将实现交换为使用retain但仍然没有出错,但我认为我们可以在链接上找到答案

任何其他见解都会很好。