我最近开始研究其他人的代码库,但我发现了很多这个
@property (strong, retain) TYPE *iVar;
我从未见过在同一财产声明中使用Strong和Retain。我很惊讶它甚至可以编译,因为保留已经意味着强大。
该项目使用arc,并且还有几个月的历史,因此遗留问题不在此处,部署目标是iOS6。
你有什么理由想要这样做吗?
答案 0 :(得分:2)
没有理由对retain
和strong
- according to Apple's documentation使用属性声明,这两个是同义词:
关键字
weak
和strong
作为新声明的属性属性引入,如以下示例所示。
// The following declaration is a synonym for: @property(retain) MyClass *myObject;
@property(strong) MyClass *myObject;
答案 1 :(得分:0)
如果您使用的是ARC,请使用strong。
现在可以允许混合两者,但将来可能会产生编译器警告/错误。更不用说它看起来很奇怪。