当我在使用ARC模式下在CoreData中创建实体的模型对象时,它会生成retain而不是strong。那么retain在ARC模式下也能正常工作和编译吗?我以为在ARC模式下我们不能使用release、autorelease和retain关键字?
@synthesize
来生成属性,则在幕后生成的代码将依赖于retain
类型(retain
,assign
,copy
)。@dynamic
而不是@synthesize
,所有这些都在自动执行,所以实际上,尽管它很令人困惑,似乎并没有使用retain
关键字,因此ARC不会报错...我非常确定这就是原因。@synthesize
,但仍未出现错误,但我认为我们可能会从链接中的那个答案中获得一些信息。@property
声明吗?@property (nonatomic, retain) MyObject *object;
retain
属性是在ARC下表示strong
的属性。
retain
关键字,它禁止使用retain
选择器。 关键字和选择器是完全不同的概念。请参见我链接的文档中的§7.1.1章节。 - rob mayoff