ios - 保留关键字不会在 Xcode 4.6 ARC 项目中抛出编译器错误?

标签 ios objective-c xcode automatic-ref-counting

我刚刚在客户现场开始了一份新契约(Contract)。

我正在着手开发一个应用程序原型(prototype),该原型(prototype)由一位刚接触 Objective-C 的 Android 开发人员编写。 (他已经离开公司,因此无法提问。)

该项目是使用 ARC 在 Objective-C 中编写的。其中一个文件的属性声明为

@property (nonatomic, retain, readonly) <class> *<name>;

(其中 <class><name> 替换为每个属性的实际类和属性名称。)

过去,当我尝试在 ARC 项目中包含手动引用计数代码时,编译器会在 retain 上抛出错误关键词。然而,在这个项目中,它并没有提示。

我检查了一下,文件没有设置为使用手动引用计数进行编译。

我编辑了属性定义并替换了单词 retainstrong , 也可以编译。

Apple 最近是否更改了编译器以便 retainstrong 的同义词在弧?相反,是 strong retain 的同义词在使用手动引用计数编译的文件中?

如果是,这个改变是什么时候做的?

最佳答案

好吧,它没有特别好的记录,但是这个 ARC transitioning doc状态:

// The following declaration is a synonym for: @property(retain) MyClass *myObject;
@property(strong) MyClass *myObject;

请注意 synonym 这个词,这意味着 retainstrong 属性表示同一事物。

关于ios - 保留关键字不会在 Xcode 4.6 ARC 项目中抛出编译器错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32271830/

相关文章:

ios - 在 self.tableView.reloadData() 上展开 Optional 值时意外发现 nil

ios - swift JSON 错误 : Could not cast value of type '__NSDictionaryM' to 'NSArray'

ios - iTunes Connect 应用内购买定价未显示

iphone - CABasicAnimation 无 HUGE_VALF 无限重复?

ios - Firebase 引用抛出终止,类型为 NSException 的未捕获异常

ios - SwiftUI 动画影响其他 View

ios - 在 Google map iOS 中闪烁自定义标记

ios - 在 iOS 模拟器中移动元素

ios - Xcode 9.2 不再为一个项目提供自动完成功能,但它在另一个项目上提供?

ios - 如何在 Swift 中关闭 ViewController?