1

早些时候,我在 Snow Leopard 上长期使用 XCode 4.2 很长时间。我已经在 iOS 6 SDK 和 ARC 上使用 XCode 4.5 直接跳转到 Mountain Lion。

对我来说发生了很多变化。只是想知道,默认变量的命名方式是否发生了变化?

因为在较旧的 XCode 中,如果我自己不声明 ivar,它将采用与属性相同的名称。

在 4.5 中,我声明了一个属性(不再需要综合!)。

在覆盖的设置器中,我试图使用与属性同名的变量,比如 abc。

但 XCode 没有识别它并给我 _abc 的建议!

自动生成的 ivar 是否以 _ now 开头?

4

1 回答 1

5

自动生成的@synthesize语句使用带有下划线前缀的实例变量:

@synthesize abc = _abc;

但是@synthesize没有实例变量的显式语句

@synthesize abc;

仍然相当于

@synthesize abc = abc;

为了与旧 Xcode 版本兼容。

于 2013-01-28T06:19:34.520 回答