Как делегировать статус первого респондента NSDocument другому объекту? - PullRequest
0 голосов
/ 04 июля 2019

У меня есть приложение на основе документов macOS Cocoa с классом, производным от NSDocument, использующим контроллер окна по умолчанию и пользовательский интерфейс, определенный в его XIB, владельцем файла которого является сам объект Document (практически шаблон приложения по умолчанию). Меню, конечно, находится в другом XIB (MainMenu), и все его действия, влияющие на документ, переходят к первому ответчику, который является документом.

Проблема в том, что у меня сейчас слишком много методов действия с меню в документе, и я хочу поместить их в другой класс (назовем его «DocumentActions» и сохраним его объект в Document.xib). Но только Document является первым респондентом, и я знаю, что действия MainMenu.xib влияют на документ только через первого респондента. Как сделать так, чтобы Document делегировал свой статус первого респондента DocumentActions? Я бы предпочел не использовать «расширение документа» в другом файле или вручную перенаправлять каждый метод действия документа в другой класс.

Любые элементы управления пользовательского интерфейса все еще должны быть в состоянии стать первыми респондентами над этим классом DocumentActions.

...