2011-06-10 112 views
5

我無法理解如何以最佳方式爲單個窗口應用程序設計應用程序以在Mac OS X中工作。我更喜歡單個文檔 - 單窗口應用程序(我不編碼一個實用程序應用程序),但是我不清楚應該在哪裏初始化窗口內容。Mac OS X Cocoa單窗口應用程序體系結構

在iOS上,我應該使用-[UIViewController viewDidLoad]-[UIViewController viewWillAppear:]爲此目的的根視圖控制器的方法。

你可以請教我任何教程或解釋如何處理NSDocument - NSDocumentController - NSWindowController - NSViewController類?

感謝您的回答。 :-)

回答

3

你可以把你的窗口邏輯放到你的AppDelegate中,但我勸阻它。我建議您做一個單獨的NSWindowController子類來控制窗口,即使是單窗口應用程序。這是一個非常好的分離。

我不明白爲什麼人們會想要使用NSDocumentController爲單窗口應用程序。 NSViewController旨在控制您的自定義視圖。它通常不會用在普通的簡單Mac應用程序中,除非您有一些您想要專門控制的自定義視圖。

因此,在您的AppDelegate中,比如applicationDidFinishLaunching:,您將分配並初始化窗口控制器並顯示窗口。

Hillegass在「Cocoa Programming for Mac OS X」中介紹瞭如何使用窗口控制器。當然,Apple的文檔也有一些內容。

+0

可以很容易地修改'NSDocumentController'來處理單窗口應用程序。你想使用它的原因是,你可以用Cocoa文檔體系結構「免費」得到很多。 – 2011-06-11 02:50:08

+2

但是,如果你真的想特意打開和保存文件,那不是嗎?實際上我並沒有太多注意。只需使用Apple的標準單窗口應用程序模板即可獲得足夠的「免費」。 – Enchilada 2011-06-11 10:05:24