On Wed, 11 Nov 2009 18:16:11 -0500, Ben Haller <bhcocoa...@sticksoftware.com> said: > This policy seems to imply that windows can live on their own, >without a reference to them from the outside world (because the window >list references them), but panels cannot; a panel has to be strong- >referenced by somebody. Somebody has to *own* it. I don't really see >the logic there.
The memory management policy on Mac OS X (and iPhone) *is* an ownership-based policy, so seeing the logic isn't really important. The rule is simple: If you yourself did not alloc or copy an instance, then that instance is a candidate for deallocation; retain it or risk losing it. That simplicity is good. I doubt that mere membership in the window list causes a window to be retained. Probably something else is doing it. For example, it might be the nib-loading memory-management rules, or the existence of an NSWindowController that has taken ownership of the window. A revealing and important document in this regard is: http://developer.apple.com/mac/library/documentation/Cocoa/Conceptual/Loadin gResources/CocoaNibs/CocoaNibs.html See esp. under Nib Object Retention. The difference between Mac OS X and iPhone memory management policy is striking, and has made a big difference in my life. After "mysteriously" losing the object at the far end of an IBOutlet because I failed to retain it, on iPhone, I now retain *all* my outlets, even on Mac OS X (where this kind of thing doesn't happen if you're not using garbage collection). Like chicken soup, it can't hurt; and declared properties (with a "retain" policy) make it easy to do correctly. m. -- matt neuburg, phd = m...@tidbits.com, <http://www.tidbits.com/matt/> A fool + a tool + an autorelease pool = cool! AppleScript: the Definitive Guide - Second Edition! http://www.tidbits.com/matt/default.html#applescriptthings _______________________________________________ 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