Re: NSWindowController retain count confusion
site_archiver@lists.apple.com Delivered-To: cocoa-dev@lists.apple.com On 30.09.2008, at 04:30, James Walker wrote: Hallo Jamws Regards, Patrick _______________________________________________ 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/site_archiver%40lists.apple... I have an NSWindowController subclass that is defined as File's Owner in a nib. The window outlet is connected to a window, and the delegate outlet of the window goes back to the File's Owner. I was trying to release the controller in the windowWillClose: delegate method, but it didn't cause the dealloc method to be called. I found that immediately after creating the controller with alloc and init, its retain count was 1, but as soon as I did [self window], the retain count went up to 2. So, who's retaining the controller, and is it safe to just release it twice? I searched the list, and found some old messages about NSWindowController retain counts being messed up by bindings, but I don't have any bindings (yet). -- James W. Walker, Innoventive Software LLC <http://www.frameforge3d.com/> I've just started Cocoa Programming a few month back, so I'm no expert. The documentation for "(void)setReleasedWhenClosed: (BOOL)releasedWhenClosed" states: "YES to specify that the receiver is to be hidden and released when it receives a close message; NO to specify that the receiver is only hidden, not released." "Another strategy for releasing an NSWindow object is to have its delegate autorelease it on receiving a windowShouldClose: message." I'd try the second approach because you can control the behaviour at close time. This email sent to site_archiver@lists.apple.com
participants (1)
-
Patrick Mau