【发布时间】:2015-08-28 13:07:48
【问题描述】:
我刚刚在客户现场签订了一份新合同。
我正在着手开发一个由刚接触 Objective-C 的 Android 开发人员编写的应用原型。 (他已经离开了公司,所以不能问问题。)
该项目是使用 ARC 用 Objective-C 编写的。其中一个文件的属性声明为
@property (nonatomic, retain, readonly) <class> *<name>;
(其中<class> 和<name> 被替换为每个属性的实际类和属性名称。)
过去,当我尝试在 ARC 项目中包含手动引用计数代码时,编译器会在 retain 关键字上抛出错误。然而,在这个项目中,它并没有抱怨。
我检查了,该文件没有设置为使用手动引用计数进行编译。
我编辑了属性定义并将单词 retain 替换为 strong,这样也可以编译。
Apple 最近是否更改了编译器,以便 retain 是 ARC 中 strong 的同义词?相反,strong 在使用手动引用计数编译的文件中是 retain 的同义词吗?
如果是这样,此更改是何时进行的?
【问题讨论】:
-
@property (nonatomic, retain, readonly)
* ;在 ARC 项目中效果很好......另一个地方有错误
标签: ios objective-c xcode automatic-ref-counting