10

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

4

2 回答 2

4

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

它的要点是,如果你是你@synthesize的属性,那么引擎盖下生成的代码将依赖于retain类型(retain, assign, copy)。

生成的托管对象子类使用@dynamicnot @synthesize,所有这些东西都在为你神奇地发生,所以实际上,虽然它令人困惑,retain但似乎没有使用关键字,因此 ARC 没有抱怨......我很确定那是它。

尽管我确实尝试交换实现以使用@synthesize并且仍然没有出错,但我认为我们可以通过链接上的答案找到一些东西

任何其他见解都会很好。

于 2012-07-23T16:56:28.623 回答
4

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

@property (nonatomic, retain) MyObject *object;

retainproperty 属性表示strong在 ARC 下。

4.1.1。财产声明

于 2012-06-16T02:04:32.083 回答