Cosa significa un trattino basso nel nome di una variabile membro in Objective-C?

Possibile duplicato:
Prefixing dei nomi delle proprietà con un trattino basso nell’Objective C

Sono uno sviluppatore C / C ++ e sto imparando Objective-C. Recentemente ho iniziato su un tutorial che ho trovato in rete. Il codice è il seguente:

@interface MapDemoAnnotation : NSObject  { 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 

Qualcuno può spiegarmi il significato della dichiarazione

 @synthesize coordinate=_coordinate; 

Conosco il significato di @synthesize . Ma non riuscivo a capire l’affermazione completa. _coordinate è una variabile membro. Ma cosa è coordinate ? Dove viene dichiarato?

Fondamentalmente, non significa nulla per il compilatore. È solo una pratica di codifica utilizzata su variabili di istanze private. Il tuo codice non si spezzerà se non lo usi.