What name does the auto-generated ivar take when I

2019-01-20 17:07发布

问题:

Earlier I was on XCode 4.2 for a long time on Snow Leopard for a long time. I have made a straight jump to Mountain Lion with XCode 4.5 on with iOS 6 SDK and ARC.

A lot has changed for me. Just wanted to know, whether the naming style of default variables has changed ?

because in older XCode if I wont declare an ivar myself, it would take the same name as the property.

In 4.5, I declared a property (no synthesize required anymore!).

In the overidden setter, I am trying to use the variable as the same name as the property, say abc.

but XCode is not recognizing it and giving me suggestions of _abc !

Does the auto-generated ivar starts with _ now ?

回答1:

The automatically generated @synthesize statement uses instance variables prepended with an underscore:

@synthesize abc = _abc;

But an explicit @synthesize statement without instance variable

@synthesize abc;

is still equivalent to

@synthesize abc = abc;

for compatibility with older Xcode versions.