iVar wird nicht erkannt, wenn mein eigener Getter & Setter deklariert wird [duplicate]
Mögliche Duplikate:
Eigenschaft funktioniert nicht mit Getter AND Setter
Dies ist das Problem, vor dem ich stehe: Ich verwende iOS 6. Ich deklariere eine Eigenschaft in der Header-Datei:
@property (nonatomic) CGFloat scale;
Dann erstelle ich in der Implementierung meinen eigenen Getter / Setter wie folgt:
#define DEFAULT_SCALE 0.90
- (void)setScale:(CGFloat)scale
{
if(_scale != scale) {
_scale = scale;
[self setNeedsDisplay];
}
}
- (CGFloat) scale
{
if(!_scale) {
return DEFAULT_SCALE;
} else {
return _scale;
}
}
Das Problem ist, dass _scale vom Compiler nicht erkannt wird. Ich erhalte die Fehlermeldung "Verwendung des nicht deklarierten Bezeichners '_scale'. Wenn ich den Getter oder den Setter entferne, funktioniert das, aber ich kann nicht beide behalten. Wenn ich das tue, muss ich hinzufügen@synthesize scale = _scale
um den Fehler zu vermeiden. Kann mir jemand erklären warum?
Vielen Dank