当我在 ARC 模式下在 CoreData 中为我的实体创建模型对象时,它会改为生成保留或强保留。那么保留工作并在 ARC 模式下编译吗?我认为在 ARC 模式下我们不能使用 release、autorelease 和 retain 关键字?
问问题
2312 次
2 回答
4
请查看此答案:https ://stackoverflow.com/a/10036821/662605
它的要点是,如果你是你@synthesize
的属性,那么引擎盖下生成的代码将依赖于retain
类型(retain
, assign
, copy
)。
生成的托管对象子类使用@dynamic
not @synthesize
,所有这些东西都在为你神奇地发生,所以实际上,虽然它令人困惑,retain
但似乎没有使用关键字,因此 ARC 没有抱怨......我很确定那是它。
尽管我确实尝试交换实现以使用@synthesize
并且仍然没有出错,但我认为我们可以通过链接上的答案找到一些东西
任何其他见解都会很好。
于 2012-07-23T16:56:28.623 回答
4
你的意思是它会生成这样的@property
声明吗?
@property (nonatomic, retain) MyObject *object;
retain
property 属性表示strong
在 ARC 下。
于 2012-06-16T02:04:32.083 回答