Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What is the correct way to create a custom setter for a weak property in Objective C?

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?

like image 886
adevine Avatar asked Mar 25 '13 03:03

adevine


People also ask

What does @property do in Objective C?

@property offers a way to define the information that a class is intended to encapsulate. If you declare an object/variable using @property, then that object/variable will be accessible to other classes importing its class.


1 Answers

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_;
like image 160
Richard Brown Avatar answered Oct 16 '22 00:10

Richard Brown