我目前正在使用最新版本的 Xcode (v5.0.2),我的应用程序的部署目标是 iOS 7.0。
我的问题是无论在哪个类中,我都可以在标题中设置一个属性
例如:@property (strong, nonatomic) NSString *firstName;
在实现文件中,我可以合成就好了
例如:@synthesize firstName;
我的问题是我不能在代码中使用 _firstName
。我在其他项目中使用自动 ivars 就好了(属性名称前面有下划线)。
Xcode 提示并告诉我将其更改为不带下划线的属性名称。我不明白为什么这个项目没有自动为我创建带下划线的 ivars。我知道在旧版本的 Objective-C 中,您必须自己执行此操作,但对于 iOS 7 则不需要。
谢谢!
最佳答案
您可以完全跳过 @synthesize
,它会创建带下划线的 ivar。如果您执行 @synthesize
时未指定变量名称 (@synthesize firstName = _firstName;
),它将创建不带下划线的变量。
关于iOS 7 Dev - @synthesize 不自动创建 ivars,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21794956/