当我在XCode 4.5中声明属性时,自动生成的ivar会采用什么名称?

Amo*_*kar 1 objective-c ios6 xcode4.5

早些时候我在Snow Leopard很长一段时间都在XCode 4.2上.我使用iOS 6 SDK和ARC直接使用XCode 4.5跳转到Mountain Lion.

我发生了很多变化.只是想知道,默认变量的命名风格是否已经改变?

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

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

在overover setter中,我试图使用变量作为属性的同名,比如说abc.

但是XCode没有认出来并给我建议_abc!

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

Mar*_*n R 5

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

@synthesize abc = _abc;
Run Code Online (Sandbox Code Playgroud)

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

@synthesize abc;
Run Code Online (Sandbox Code Playgroud)

仍然相当于

@synthesize abc = abc;
Run Code Online (Sandbox Code Playgroud)

与旧版Xcode版本兼容.