在Objective-C 2.0中使用属性时,我可以声明一个实例变量和属性,如下所示:
@interface MyObject : NSObject {
NSString *_myString;
}
@property (retain) NSString *myString;
@end
在实施文件中:
@synthesize myString = _myString;
会告诉编译器,_myString是实际ivar的名称,对吧?
现在,在定位64位系统时,可以声明属性,而无需声明匹配的ivar。像这样:
@interface MyObject : NSObject {
}
@property (retain) NSString *myString;
@end
在实施文件中:
@synthesize myString = _myString;
我的问题是,如果使用上面的@synthesize
命令,编译器是否仍然命名自动生成的ivar _myString
,让我可以编写_myString
,当我引用ivar并在我引用属性时调用myString
(调用getter方法)?