Во-первых, похоже, что вам нужно прочитать при обработке меню Mac, потому что есть много вещей, о которых вам нужно знать, чтобы правильно обращаться с меню.
Чтобы ответить на ваш конкретный вопрос, если пункт меню имеет цель nil
, например, элемент меню Save
, то система обработки меню перемещается вверх по цепочке респондента, начиная с текущего активного элемента управления или представления ( первый респондент), ищет объект, который реализует селектор действий для этого пункта меню.
Если вы не понимаете, как работает цепочка респондента, вам следует прочитать об этом тоже , потому что это фундаментально для понимания того, как работают приложения Mac.
Если вы хотите, чтобы ваш оконный контроллер обрабатывал действие ‑save:
, когда его окно является главным окном, тогда все, что вам нужно сделать, это реализовать действие ‑save:
в вашем оконном контроллере. Поскольку оконный контроллер находится в цепочке респондента до делегата приложения, будет использована его реализация метода.