没有明确的ivar命名的财产声明

时间:2012-04-06 12:41:30

标签: objective-c macos memory-management ivar

在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方法)?

0 个答案:

没有答案