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

questionAnswers(2)

yourAnswerToTheQuestion