当我运行 Xcode 4.5 时,默认情况下它处于 ARC Off 阶段。但是当我们创建 Xcode 项目时 强大的财产来代替保留。
1)如果Strong和weak与ARC相关,为什么它会出现在非Arc项目中?
是的,
strong
只是不使用 ARC 时 retain
的同义词 - 默认情况下,它包含在非 ARC 项目中,以最大程度地减少在 ARC 和非 ARC 之间转换时所需的更改,因为 retain
不起作用与 ARC 但strong
适用于两种项目类型。
此外,是的,如果您将其更改为
retain
,也不会破坏您的代码。
除了 H2CO3 答案之外:xCode 不会警告您这种情况。事实上,如果您从 ARC 实现的项目中添加此类,请记住实现
-(void)dealloc()
方法并在协议实现的情况下释放委托。