免责声明:我对Objective-C
很新我有几个与@property和@synthesize有关的问题。
假设我有财产
@property (strong, nonatomic) NSString *name;
1-我知道在Xcode 4.4+上你可以跳过为自然完成属性的@synthesize。所以我假设生成的 iVar 应该与属性的名称相同?一般来说,如果我@synthesize name;
iVar 与属性名称相同?
2-我知道当我手动声明一个名为_name的私有变量并且我想让编译器将它用作我的属性 iVar 时使用@synthesize name = _name;
。
我需要知道,如果@synthesize name = _name;
没有实际上声明了私有变量,会发生什么。
提前谢谢。
答案 0 :(得分:1)
name
的默认iVar为_name
。_name
生成iVar name
。当@synthesize为您完成工作时,无需手动创建任何iVar,但如果您想手动添加它们,则不会出现任何问题。