Mac OS X Cocoa单窗口应用程序架构

Kon*_*kiy 5 macos cocoa objective-c nsviewcontroller nswindowcontroller

我无法理解如何以单一窗口应用程序在Mac OS X中工作的最佳方式设计应用程序.我更喜欢单个文档 - 单窗口应用程序(我不编写实用程序应用程序),但目前尚不清楚我应该初始化一个窗口内容.

在iOS上,我应该使用根视图控制器-[UIViewController viewDidLoad]-[UIViewController viewWillAppear:]方法来实现此目的.

你可以请教我任何教程或解释如何处理NSDocument - NSDocumentController - NSWindowController - NSViewController类?

谢谢你的回答.:-)

Enc*_*ada 3

您可以将窗口逻辑放入 AppDelegate 中,但我不鼓励这样做。我建议您创建自己的单独NSWindowController子类来控制窗口,即使对于单窗口应用程序也是如此。这是一次非常美好的分离。

我不明白为什么有人想要使用NSDocumentController单窗口应用程序。NSViewController旨在控制您的自定义视图。它通常不会在普通的简单 Mac 应用程序中使用,除非您有一些想要专门控制的自定义视图。

因此,在您的 AppDelegate 中applicationDidFinishLaunching:,您将分配并初始化窗口控制器并显示窗口。

Hillegass 的“Cocoa Programming for Mac OS X”中有一个很好的章节介绍了如何使用窗口控制器。当然,苹果的文档也有一些相关材料。

  • 但如果您确实想专门打开和保存文档,这难道不是吗?其实我并没有仔细研究。只需使用 Apple 的标准单窗口应用程序模板,您就可以“免费”获得足够的内容。 (2认同)