Objective-C – Correct Way to Create a Custom Setter for a Weak Property

automatic-ref-countingobjective-cproperties

If I declare a property like this:

@property(nonatomic,weak) Foo *someProperty;

and I then declare a custom setter like so:

- (void)setSomeProperty:(Foo *)someProp {
    _someProperty = someProp;
    //...more custom stuff
}

is there anything wrong with this? That is, the compiler should automatically synthesize the _someProperty ivar with the __weak modifier, so just doing the assignment in the setter above should suffice, correct?

Best Answer

Yes, that's all there is to it. Of course you can specify a custom iVar if you'd like something other than _someProperty like:

@synthesize someProperty = someProperty_;