你可以同时使用强者并保留在同一财产声明中吗?

时间:2013-08-30 11:16:28

标签: objective-c automatic-ref-counting llvm

我最近开始研究其他人的代码库,但我发现了很多这个

@property (strong, retain) TYPE *iVar;

我从未见过在同一财产声明中使用Strong和Retain。我很惊讶它甚至可以编译,因为保留已经意味着强大。

该项目使用arc,并且还有几个月的历史,因此遗留问题不在此处,部署目标是iOS6。

你有什么理由想要这样做吗?

2 个答案:

答案 0 :(得分:2)

没有理由对retainstrong - according to Apple's documentation使用属性声明,这两个是同义词:

  

关键字weakstrong作为新声明的属性属性引入,如以下示例所示。

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

答案 1 :(得分:0)

如果您使用的是ARC,请使用strong。

现在可以允许混合两者,但将来可能会产生编译器警告/错误。更不用说它看起来很奇怪。