Here is how I used to write a custom retained setter before:
- (void)setMyObject:(MyObject *)anObject { [_myObject release], _myObject = nil; _myObject = [anObject retain]; // Other stuff }
How can I achieve this with ARC when the property is set to strong. How can I make sure that the variable has strong pointer?
The strong
takes care of itself on the ivar level, so you can merely do
- (void)setMyObject:(MyObject *)anObject { _myObject = anObject; // other stuff }
and that's it.
Note: if you're doing this without automatic properties, the ivar would be
MyObject *_myObject;
and then ARC takes cares of the retains and releases for you (thankfully). __strong
is the qualifier by default.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With