代码之家  ›  专栏  ›  技术社区  ›  Adam Preble

Cocoa应用程序的文档相关操作应该在哪里实现?

  •  2
  • Adam Preble  · 技术社区  · 15 年前

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

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

    1 回复  |  直到 15 年前
        1
  •  2
  •   Peter Hosey    15 年前

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

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

    请记住,一个流程可以打开多个文档;这些不是多个流程,每个文档一个,如在Windows上,而是一个流程中的多个文档。每个流程有一个检查员,由所有文档共享,适用于当时最前面的文档。

    我会给检查员自己的控制器,在主菜单NIB中实例化。