2

我最近开始研究别人的代码库,我遇到了很多这样的

@property (strong, retain) TYPE *iVar;

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

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

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

4

2 回答 2

2

没有理由同时使用属性声明retainstrong-根据 Apple 的文档,两者是同义词:

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

// The following declaration is a synonym for: @property(retain) MyClass *myObject;
@property(strong) MyClass *myObject;
于 2013-08-30T11:22:42.020 回答
0

如果您使用的是 ARC,那么只需使用 strong。

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

于 2013-08-30T11:22:16.463 回答