当我运行Xcode 4.5时,默认情况下它是在ARC Off阶段。但是当我们创建Xcode项目时 强大的财产而不是保留。
1)如果与ARC相关的强弱,为什么它会进入非Arc项目?
2)如果strong和retain都相同,如果我在之前将关键字retain更改为strong 非Arc项目的xcode versons,它能正常工作吗?
答案 0 :(得分:3)
是的,strong
只是retain
在不使用ARC时的同义词 - 默认情况下它包含在非ARC项目中,以最大限度地减少ARC和非转换时所需的更改ARC,因为retain
不适用于ARC,但strong
适用于两种项目类型。
此外,是的,如果您将其更改为retain
,则不会破坏您的代码。
答案 1 :(得分:0)
除了H2CO3的回答:xCode不会警告你这种情况。实际上,如果要从ARC实现的项目中添加此类,请记住实现-(void)dealloc()
方法并在协议实现时释放委托。