Cocoa Programming for OS X: The Big Nerd Ranch Guide
by Aaron Hillegass, Adam Preble, Nate Chandler
Windows, Controllers, and Memory Management
Recall that you changed the weak window outlet to be a strong window property. Without a strong reference, the window will be deallocated (and thus closed).
In past exercises, you have kept a strong reference to the window controller. This keeps the window in memory because the window controller has a strong reference to its window. The same is true of view controllers and their views. The window has a strong reference to its contentViewController.
Meticulous readers may notice that the window outlet provided by the template was weak. So what was keeping a strong reference to the window when it was loaded from MainMenu.xib? The answer is that top-level objects loaded from a NIB file have ...