如何将NSDocument的第一响应者状态委托给另一个对象?

时间:2019-07-04 07:57:27

标签: swift macos cocoa nsdocument becomefirstresponder

我有一个基于macOS Cocoa文档的应用程序,具有使用默认窗口控制器和XIB中定义的用户界面的NSDocument派生类,其文件所有者是Document对象本身(实际上是默认应用程序模板)。当然,该菜单位于另一个XIB(MainMenu)中,其所有影响文档的操作都将发送到“第一响应者”,该响应者恰好是该文档。

问题是我现在在Document上有太多菜单操作方法,我想将它们放在另一个类中(我们称它为“ DocumentActions”,并将其对象存储在Document.xib中)。但是只有Document是第一响应者,而我知道MainMenu.xib操作影响文档的唯一方法是通过第一响应者。如何使文档委托的第一响应状态为DocumentActions?我宁愿不要在另一个文件中使用“扩展文档”,也不要手动将每个文档操作方法转发给另一个类。

任何用户界面控件都应该仍然可以成为此DocumentActions类的第一响应者。

0 个答案:

没有答案