大佬教程收集整理的这篇文章主要介绍了objective-c属性 – getter和setter,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
@property (nonatomiC) CGFloat scale; #define DEFAULT_SCALE 0.90
这个getter和setter:
-(CGFloat)scale { if (!self.scalE) { return DEFAULT_SCALE; }else{ return self.scale; } } -(void)setScale:(CGFloat)scale { if (scale != self.scalE) { self.scale = scale; [self setNeedsDisplay]; } }
这是不正确的,因为例如在getter中检查self.scale会导致无限循环.编写getter和setter的正确方法是什么,这样我就不会得到无限循环?
更新:正如@ wattson12在下面的评论中指出的那样,您需要在实现中添加@synthesize.
@synthesize scale = _scale; -(CGFloat)scale { if (!_scalE) { return DEFAULT_SCALE; }else{ return _scale; } } -(void)setScale:(CGFloat)scale { if (scale != _scalE) { _scale = scale; [self setNeedsDisplay]; } }
以上是大佬教程为你收集整理的objective-c属性 – getter和setter全部内容,希望文章能够帮你解决objective-c属性 – getter和setter所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。