On Sep 5, 2011, at 9:32 AM, William Squires wrote: > Okay, I'm having a tizzy here. Most of the '...learn MacOS X...' programming > books gloss over the nitty-gritty of actually creating and displaying various > windows, either assuming they're going to be document windows (as part of a > document-based app), or they're just there as part of an example of some > other topic.
> While I can create the UI easily enough in IB, what I don't understand is how > to actually load, instantiate, and display the window from my view controller > object. > I realize the view controller has to load the nib, but how do I: > > 1) make sure the window isn't displayed until all it's views (controls) have > had a chance to initialize their default (visual) state properly > 2) actually display the window, either modally, or not. > 3) if modal, how does my client code make sure it doesn't return from the > operation until the user closes the window (by clicking the close box, or by > dismissing it in code from an IBAction tied to an NSButton whose caption is > "Done" or some such.) > 4) Pass information to/from the client code and the view controller? > 5) Prevent the window from closing (if non-modal) if the contents are 'dirty'? > > I prefer to actually make each window and its view controller as a pair, > rather than rely on the provided window in MainWindow.xib; this way I'll have > to actually know how to tie a .xib and a view controller together, rather > than rely on whatever may be in the provided MainWindow.xib in the blank > project Read the "Window Programming Guide" in the API docs (I don't have a web link but Xcode will get you to the right place). It pretty much answers all your questions. It sounds like you are coming from iOS development--forget what you know about view controllers. The Mac OS X equivalent (NSViewController) is another animal altogether. Specific to your question you are interested in NSWindowControllers. There is also no root controller class such as in iOS. HTH, Keary Suska Esoteritech, Inc. "Demystifying technology for your home or business" _______________________________________________ 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