Лучший способ подключить NSMenuItems из Interface Builder?

Итак, я потратил некоторое время на проверку CocoaDev, чтение документации Cocoa на NSMenuItems, и выполняю некоторые тесты в Interface Builder.

В моем приложении у меня есть меню приложения ([NSApp mainMenu]), разработанное в Interface Builder. Я вижу три возможных пути:

  1. Поместите мои ответчики действий в NSApplicationDelegate. Мне это кажется странным, отчасти потому, что это так далеко по пищевой цепочке, отчасти потому, что оно кажется закрепленным.

  2. Создайте подвид (я), который будет прослушивать различные сообщения действия NSMenuItem. Это могло бы показаться полезным, но похоже, что для того, чтобы он был в цепочке респондента, может быть какая-то магия, которую я не мог понять.

  3. Создайте NSObject, который прослушивает конкретный материал меню приложения, поместите его в xib , и подключите его. На данный момент это кажется мне лучшим решением, потому что я могу изолировать данные и не зависеть от цепочки респондентов для достижения определенного объекта. НО мне интересно, если, когда я довожу свое приложение до достаточного уровня сложности, это может быть проблемой, потому что оно узурпирует цепочку респондентов, которая существует, возможно, не только по причине простоты использования.

Извините за длинный вопрос. Есть ли предпочтительный подход? Спасибо!

7
задан Chris Hill 6 May 2011 в 21:22
поделиться