On Sep 29, 2010, at 3:21 AM, Jonny Taylor wrote: > OK, while that's a very handy thing to know, I think I have worked out a > simpler way that does not require an intermediate class - I'll state it here > for the archives (and any comments welcome...) > > I show the window using the following code: > @implementation Camera > -(void)showSettingsWindow > { > if (settingsWindowController == NULL) > [NSBundle loadNibNamed:@"Camera Settings" owner:self]; > [settingsWindowController showWindow:self]; > } > @end > > ... and the NIB file (File's Owner = Camera) contains the window and a > controller object (linked together), with the window controller linked to the > outlet "settingsWindowController" in File's Owner placeholder.
You should be using an NSWindowController, anyway. NSWindowController performs important services for you, like memory management of the top-level objects in the NIB and breaking retain cycles for bindings through File's Owner. You could take care of these yourself, but it's tedious and error-prone. http://developer.apple.com/library/mac/#documentation/cocoa/Conceptual/MemoryMgmt/Articles/mmNibObjects.html See the class reference for NSViewController for an oblique reference to the binding retain cycle fix in NSWindowController. Regards, Ken _______________________________________________ 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