Cocoa Programming for OS X: The Big Nerd Ranch Guide
by Aaron Hillegass, Adam Preble, Nate Chandler
30 View Controllers
Cocoa user interfaces have changed a lot over the years. For many years, it was not uncommon for a complicated application to have a number of windows, one for each functional area of the application. NSWindowController is a sufficient building block for applications like this: one controller for each window, perhaps with responsibility farmed out to smaller controller objects such as NSArrayController. Nowadays it is much more common for the bulk of an application’s UI to be composed within a single window. Applications like Pages, Numbers, Keynote, and Xcode are examples of this.
Consider the project window in Xcode (Figure 30.1). Imagine implementing this window with an NSWindowController. It would contain ...