2011-06-10 102 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