iOS App を作っている人なら、UIViewController が必要不可欠な存在であることがわかるはず。View(ビューとその子孫ビューのいくつか)を管理して、Model との関係をつなぎ、そのまとまり全体の処理を統括する Controller であり UIKit における MVC の柱と言える。 Mac ではどうだろうか。もともと AppKit では、1 つの NSWindowController ごとに MVC の関係を形成していた。View はウインドウであり、それに含まれる子孫ビューも含む。 ウインドウ単位で 1 Controller しか用意していないようではそのクラスがあまりに巨大化してしまう懸念があるけど、OS X 初期では処理ごとにウインドウが独立していることが多かったので、当時はそこまで不便ではなかった。ドロワーもシートもパネルもみんな独立したウインドウである。
![Yosemite の NSViewController はこれまでとは違う! - ひ to り go と](https://cdn-ak-scissors.b.st-hatena.com/image/square/221d12ed5ffa3a3dc0e77a06af376497d1ba1c0e/height=288;version=1;width=512/https%3A%2F%2Fhitorigoto.zumuya.com%2F-resources_new%2Fhi_128.png)