如何重写@synthesized getters?
如何覆盖属性合成的getter?
在你的属性定义里面,你可以指定getter和setter方法如下:
@property (nonatomic, retain, getter = getterMethodName, setter = setterMethodName) NSString *someString;
您可以只指定吸气剂,仅指定吸气剂,或者两者兼用。
只需手动实现该方法,例如:
- (BOOL)myBoolProperty { // do something else ... return myBoolProperty; }
编译器将不会生成一个getter方法。
只要实现你自己的getter,编译器就不会生成一个。 二传手也一样。
例如:
@property float value;
相当于:
- (float)value; - (void)setValue:(float)newValue;
我只是想添加,我无法用getter / setter覆盖BOOL属性,直到我添加这个:
@synthesize myBoolProperty = _myBoolProperty;
所以完整的代码是:
在头文件中:
@property BOOL myBoolProperty;
在执行文件中:
@synthesize myBoolProperty = _myBoolProperty; -(void)setMyBoolProperty:(BOOL) myBoolPropertyNewValue { _myBoolProperty = myBoolPropertyNewValue; } -(BOOL) myBoolProperty { return _myBoolProperty; }