1

当我运行 Xcode 4.5 时,默认情况下它处于 ARC Off 阶段。但是当我们创建 Xcode 项目时,Strong 属性来代替 Retain。

1)如果强弱与ARC有关,为什么它会出现在非Arc项目中?

2)如果strong和retain都相同,如果我在早期的xcode版本中为非Arc项目将关键字retain更改为strong,它会正常工作吗?

4

2 回答 2

3

是的,strong它只是retain不使用 ARC 的同义词 - 默认情况下,它包含在非 ARC 项目中,以最大限度地减少在 ARC 和非 ARC 之间转换时所需的更改,因为retain它不适用于 ARC,但strong适用于两种项目类型。

另外,是的,如果您将其更改为retain,那不会破坏您的代码。

于 2012-09-24T14:01:33.437 回答
0

除了 H2CO3 答案:xCode 不会就这种情况向您发出警告。实际上,如果您从 ARC 实现的项目中添加此类,请记住-(void)dealloc()在协议实现的情况下实现方法和释放委托。

于 2012-10-25T09:57:35.527 回答