ARC does not affect this context.
It just means that you do not need to call release yourself.
With non-ARC, in low memory conditions, you might want to release some properties that you really don't need (which means that they can be recreated on demand).
- ( void )didReceiveMemoryWarning: { [ _myProperty release ]; _myProperty = nil; [ super didReceiveMemoryWarning ]; }
In ARC, this is exactly the same, except that you do not need to call release :
- ( void )didReceiveMemoryWarning: { _myProperty = nil; [ super didReceiveMemoryWarning ]; }
Setting your property to nil will, under ARC, automatically release it.
So it really does something.
If this does not work for you, then you have one more problem.
Make sure you do not have memory leaks, but keep cycles .
The latter is definitely a problem ...
source share