iVar não reconhecido se declarar meu próprio getter & setter [duplicado]
Duplicata Possível:
Propriedade não funciona com getter AND setter
Este é o problema que estou enfrentando: Estou usando o iOS 6. Declaro uma propriedade no arquivo de cabeçalho:
@property (nonatomic) CGFloat scale;
Então, na implementação, eu crio meu próprio getter / setter assim:
#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;
}
}
O problema é que _scale não é reconhecido pelo compilador. Eu recebo o erro "Uso de identificador não declarado '_scale'. Se eu remover o getter ou o setter, então funciona bem, mas não posso manter ambos. Se eu fizer isso, eu tenho que adicionar@synthesize scale = _scale
para evitar o erro. Alguém pode explicar por quê?
obrigado