如何重写@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; }