下划线在Objective-C中的成员变量名称中表示什么?

时间:2011-04-14 05:58:28

标签: iphone objective-c

  

可能重复:
  Prefixing property names with an underscore in Objective C

我是一名C / C ++开发人员,正在学习Objective-C。最近我开始在网上找到一个教程。代码如下:

@interface MapDemoAnnotation : NSObject <MKAnnotation> {
    CLLocationCoordinate2D _coordinate;
}

- (id)initWithCoordinate:(CLLocationCoordinate2D)coordinate;

@end

@implementation MapDemoAnnotation

@synthesize coordinate=_coordinate;

- (id)initWithCoordinate:(CLLocationCoordinate2D)coordinate {
    self = [super init];
    if (self != nil) {
        _coordinate = coordinate;
    }
    return self;
}

@end

任何人都可以向我解释声明的含义

@synthesize coordinate=_coordinate;

我知道@synthesize的含义。但无法理解完整的陈述。 _coordinate是成员变量。但是什么是coordinate?它在哪里宣布?

1 个答案:

答案 0 :(得分:4)

基本上,它对编译器没有任何意义。它只是在私有实例变量上使用的编码实践。如果你不使用它,你的代码就不会破坏。