Given the property declaration below, does method (A) work in exactly the same way as method (B)? I just want to check that self.yellowViewController = yellcon_New;
is going via my setter, so that the old objects gets released and the new one retained.
// INTERFACE
@property(nonatomic, retain) YellowViewController *yellowViewController;
// IMPLEMENTATION (A)
self.yellowViewController = yellcon_New;
// IMPLEMENTATION (B)
[self setYellowViewController:yellcon_New];
Yes. If you're using the
@synthesize
thing for that property, it's creating a-setYellowViewController:
method for you.All of this is correct :
And
Work the same. I would like to add something interesting : when you use
you associate directly the value to the ivar, without going through your setter methode.
So if you have
Calling
and
will use the setter method (and log the message, and make your wife bring you some beer)
but
will not.
It's interesting to know this in some cases.
Yes, A and B lines work the same
You can check that by using @dynamic instead of @synthesize for this property and put NSLog message in you implementation of setter method.