I’ve been told to not worry about retain counts. I understand that I shouldn’t decide to release or retain using conditional logic based on retainCount, but should I not worry about it? I thought these correspond to memory usage in some way.
For instance, if I have a bunch of subviews of UIView that I’ve also put into an NSArray to be able to iterate through them, doesn’t that double the retain count and therefore the memory use of the application? If so, is this costly or trivial, if the subviews are, say, 500 UIControl instances? This is assuming that I need the 500 instances, of course.
You’re not supposed to be worrying about
retainCountbecause it’s often a misleading implementation detail of the reference counting system. What you’re supposed to concern yourself with is following proper object ownership policy.I post this once in a while from Apple’s documentation:
As for your last question, your memory usage is not going to double from adding objects from one array to another array. The retain count is just an unsigned integer in the object that gets incremented by 1 when something claims ownership of it. But again, don’t concern yourself with that.