iOS 7 Dev - @synthesize不会自动创建ivars

Mar*_*man 2 objective-c ios synthesize ios7

我目前正在使用最新版本的Xcode(v5.0.2),我的应用程序的部署目标是iOS 7.0.

我的问题是,无论在哪个类中,我都可以在标题中设置属性

例如: @property (strong, nonatomic) NSString *firstName;

在实现文件中,我可以很好地合成它

例如: @synthesize firstName;

我的问题是我不能_firstName在代码中使用.我在其他项目中使用了自动ivars就好了(属性名称以下划线开头).

Xcode抱怨并告诉我将其更改为没有下划线的属性名称.我不明白为什么这个项目不会自动为我创建带有下划线的ivars.我知道在旧版本的Objective-C中,你必须自己做,但你不适用于iOS 7.

谢谢!

Ste*_*isk 5

你可以完全跳过@synthesize它,它会创建下划线的ivars.如果@synthesize没有指定变量name(@synthesize firstName = _firstName;),它将创建没有下划线的变量.