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

标签 ios objective-c ios7 synthesize

我目前正在使用最新版本的 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/

相关文章:

ios - 获取 SCNText 中的 String 属性

ios - React-Native xcrun : error: Failed to locate 'instruments' in Xcode 13

iOS Google Maps SDK 与 MapKit 滚动

ios - 约束更新时委托(delegate)

ipad - CoreGraphics绘图在iOS 7上导致内存警告/崩溃

ios - iOS 7 上的 UIBarButtonSystemItemRefresh

ios - iOS 7.1 中的 UILabel 虚线颜色错误

objective-c - iOS,使用 RestKit 搜索远程服务器

objective-c - 对于其 setter 方法不存储传递的对象的 Obj-C 属性,合适的关键字是什么?

ios - 从目录获取文件到NSData