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 ...

Get Cocoa Programming for OS X: The Big Nerd Ranch Guide now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.