Home » Ios » How to override @synthesized getters?

How to override @synthesized getters?

Posted by: admin November 30, 2017 Leave a comment

Questions:

how to override a property synthesized getter?

Answers:

Inside of your property definition you can specify getter and setter methods as follows:

@property (nonatomic, retain, getter = getterMethodName, setter = setterMethodName) NSString *someString;

You can specify the getter only, the setter only, or both.

Questions:
Answers:

Just implement the method manually, for example:

- (BOOL)myBoolProperty
{
    // do something else
    ...
    return myBoolProperty;
}

The compiler will then not generate a getter method.

Questions:
Answers:

Just implement your own getter and the compiler will not generate one. The same goes for setter.

For example:

@property float value;

is equivalent to:

- (float)value;
- (void)setValue:(float)newValue;

Questions:
Answers:

I just want to add, I was not able to override BOOL property with getter/setter, until I add this :

@synthesize myBoolProperty = _myBoolProperty;

so the complete code is :

in header file :

@property  BOOL myBoolProperty;

in implementation file :

@synthesize myBoolProperty = _myBoolProperty;


-(void)setMyBoolProperty:(BOOL) myBoolPropertyNewValue
{
    _myBoolProperty = myBoolPropertyNewValue;
}

-(BOOL) myBoolProperty
{
    return _myBoolProperty;
}