可能重复:
属性不适用于 getter AND setter
这是我面临的问题:我使用的是 iOS 6。我在头文件中声明了一个属性:
@property (nonatomic) CGFloat scale;
然后在实现中,我创建自己的 getter/setter,如下所示:
#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;
}
}
问题是编译器无法识别 _scale。我收到错误“使用未声明的标识符'_scale'。如果我删除了getter或setter,那么它工作正常,但我不能同时保留两者。如果我这样做,我必须添加@synthesize scale = _scale
以避免错误。有人可以解释为什么?
谢谢