7

在 XCode 4.3.2 中,当我运行 ARC 转换重构工具时,我所有的“保留”属性选项都不会更改为“强”。现在是暗示“强”还是这只是 XCode 4.3.2 的问题?

例子:

@property (nonatomic, retain) NSString * someString;

@property (nonatomic) NSString * someString;
4

2 回答 2

1

“strong”是使用 ARC (LLVM 3.1) 时的默认值,因此新代码是正确的。
(在 ARC 之前,默认值为“assign”)
参见http://clang.llvm.org/docs/AutomaticReferenceCounting.html#ownership.spelling.property

于 2012-06-03T20:02:53.210 回答
0

strong 相当于非 ARC 保留。因此,当您从非 ARC 转移到 ARC 时,XCode 不理解保留一词,因此将其删除。从而导致错误或至少警告,因为所有实例变量都需要至少声明两个属性。

于 2012-04-26T08:32:05.753 回答