Jaka jest rzeczywista nazwa zmiennej instancji, powiedzmy, topSpeed, jak z wykładów na Uniwersytecie Stanforda dotyczących programowania Objective-C i iOS?Właściwość Objective-C i logika syntezy
Oto kod:
@property (nonatomic) double topSpeed;
Patrząc na ten kod będę myśleć, że zdefiniowano zmienną Topspeed w klasie. Nie mogę zrozumieć, dlaczego automatycznie zadeklaruje metodę getter z nazwą taką samą jak nazwa zmiennej - topSpeed?
Inną kwestią jest to, gdy używamy
@synthesize topSpeed = _topSpeed
A jeśli spojrzymy na to, co @synthesize wygeneruje:
- (double) setTopSpeed:(double)speed
{
_topSpeed = speed;
}
- (double) topSpeed
{
return _topSpeed;
}
Co _topSpeed tutaj, a co Topspeed? Zadeklarowałem zmienną topSpeed, a nie _topSpeed. Co się stanie, jeśli nie będę używał własności, jaka byłaby nazwa zmiennej?
http://stackoverflow.com/questions/3521254/prefixing-property-names-with-an-underscore-in-objective-c – Saurabh