0

免责声明:我对 Objective-C 很陌生

我有几个与@property 和@synthesize 相关的问题。

假设我有财产

@property (strong, nonatomic) NSString *name;

1-我知道在 Xcode 4.4+ 上,您可以跳过对属性执行 @synthesize 的操作,因为它们是自动完成的。所以我假设生成的iVar应该和产权的名字一样吧?一般来说,如果我这样做@synthesize name;iVar与属性名称相同?

2- 我知道@synthesize name = _name;当我手动声明了一个名为 _name 的私有变量并且我想让编译器将它用作我的属性的iVar时使用它。我需要知道,如果我@synthesize name = _name; 没有实际声明一个私有变量会发生什么。

先感谢您。

4

1 回答 1

1
  1. 如果我没记错的话,生成的默认 iVar 以下划线开头。即:该属性的默认 iVarname将是_name.
  2. _name将为属性生成iVar name。当@synthesize 为您完成工作时,无需手动创建任何 iVar,但如果您确实想手动添加它们不会有任何问题。
于 2013-01-31T15:00:59.277 回答