我有一个基于macOS Cocoa文档的应用程序,具有使用默认窗口控制器和XIB中定义的用户界面的NSDocument派生类,其文件所有者是Document对象本身(实际上是默认应用程序模板)。当然,该菜单位于另一个XIB(MainMenu)中,其所有影响文档的操作都将发送到“第一响应者”,该响应者恰好是该文档。
问题是我现在在Document上有太多菜单操作方法,我想将它们放在另一个类中(我们称它为“ DocumentActions”,并将其对象存储在Document.xib中)。但是只有Document是第一响应者,而我知道MainMenu.xib操作影响文档的唯一方法是通过第一响应者。如何使文档委托的第一响应状态为DocumentActions?我宁愿不要在另一个文件中使用“扩展文档”,也不要手动将每个文档操作方法转发给另一个类。
任何用户界面控件都应该仍然可以成为此DocumentActions类的第一响应者。