我不明白如何以最佳方式设计一个应用程序,以便单窗口应用程序在 Mac OS X 中工作。我更喜欢单个文档 - 单窗口应用程序(我不是在编写实用程序应用程序),但它是不清楚我应该在哪里初始化窗口内容。
在 iOS 上,我应该使用 Root View Controller 的 -[UIViewController viewDidLoad]
或 -[UIViewController viewWillAppear:]
方法。
你能给我一些教程或解释如何处理 NSDocument - NSDocumentController - NSWindowController - NSViewController 类吗?
感谢您的回答。 :-)
最佳答案
您可以将窗口逻辑放入 AppDelegate 中,但我不鼓励这样做。我建议您创建自己的单独的 NSWindowController
子类来控制窗口,即使对于单窗口应用程序也是如此。这是一个非常好的分离。
我不明白为什么有人会想要将 NSDocumentController
用于单窗口应用程序。 NSViewController
用于控制您的自定义 View 。它通常不会用在一般的简单 Mac 应用程序中,除非您有一些要专门控制的自定义 View 。
因此,在您的 AppDelegate 中,例如 applicationDidFinishLaunching:
,您将分配和初始化窗口 Controller 并显示窗口。
Hillegass 在“Cocoa Programming for Mac OS X”中有一章很好地介绍了如何使用窗口 Controller 。当然,Apple 的文档中也有一些资料。
关于objective-c - Mac OS X Cocoa 单窗口应用架构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6304884/