可能重复:
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
?它在哪里宣布?
答案 0 :(得分:4)
基本上,它对编译器没有任何意义。它只是在私有实例变量上使用的编码实践。如果你不使用它,你的代码就不会破坏。