On Mar 3, 2011, at 1:10 PM, Matt Neuburg wrote:
> So what I'm trying to show you is that when you've got an object that owns 
> stuff, you *never* expect that that object will dispense the stuff it owns 
> while handing you a share in ownership. 

I would argue it's irrelevant whether the dispensing object owns what it 
dispenses. True, you'll have a pretty good idea whether it does or not, but not 
always. Suppose I have

    NSString *fn = [aPerson fullName];

I don't necessarily know whether aPerson owns the object referenced by fn, and 
I don't care. "fullName" does not contain "new", "alloc", or "copy", so the 
memory management rules say I must retain fn if I want it to stick around.

As for what "stick around" means...

> You *always* take ownership if you want that stuff to persist beyond the 
> object that dispenses them.

...I don't think I've ever heard the phrasing, "beyond the object that 
dispenses them".  We've been conditioned to think we have "extra persistence 
time" at least up to the next run loop iteration. I think this stronger 
assertion is better and addresses the issue at hand.

--Andy

_______________________________________________

Cocoa-dev mailing list (Cocoa-dev@lists.apple.com)

Please do not post admin requests or moderator comments to the list.
Contact the moderators at cocoa-dev-admins(at)lists.apple.com

Help/Unsubscribe/Update your Subscription:
http://lists.apple.com/mailman/options/cocoa-dev/archive%40mail-archive.com

This email sent to arch...@mail-archive.com

Reply via email to