2

我正在编写一个基于文档的 Cocoa 应用程序,它基本上是一个图形编辑程序。我希望用户能够显示/隐藏非模态窗口(例如检查器窗口)。由于这些窗口将在菜单项中显示/隐藏,因此执行操作的“最佳”位置在哪里,例如- (IBAction)toggleInspector:(id)sender

我已经看到,在 Sketch 示例代码中,这些是在应用程序委托中实现的,并且窗口控制器实例也保留在那里,但感觉比最“优雅”的地方更方便放置它。此外,由于此检查器仅在文档打开时才相关,因此感觉它应该更多地与文档的主文件相关联而NSWindowController不是应用程序。

4

1 回答 1

2

此外,由于此检查器仅在文档打开时才相关,因此感觉它应该更多地与文档的主 NSWindowController 相关联,而不是应用程序。

不,因为 Inspector 在所有文档中共享;每个文档没有一个检查员。

请记住,单个进程可以打开多个文档;这些不是多个进程,每个文档一个,就像在 Windows 上一样,而是单个进程中的多个文档。每个进程有一个 Inspector,在所有文档之间共享,它适用于当时最前面的文档中的任何一个。

我会给 Inspector 自己的控制器,在 MainMenu nib 中实例化。

于 2010-03-20T21:26:02.647 回答