2012-01-16 5 views
0

У меня есть приложение Cocoa с файлом ManMenu.xib, в котором хранится главное меню и разные другие представления в нескольких xib, обрабатывающих разные задачи моего приложения. Итак, как мне сделать мои суб-xib или, скорее, их NSViewControllerController получать действия из меню?Главное меню в разных наконечках

У меня есть идея, но я не знаю, правильно ли это: я подклассифицирую NSViewController и добавляю некоторые действия, такие как - (IBAction) undo или - (IBAction) redo использует экземпляры его как владельца файла. Далее я добавляю указатель на делегат моего приложения, указывающий на фактический вид или, скорее, его контроллер, и меню отправляет действие этому указателю.

Wise solution?

ответ

0

Вы должны подключить пункты меню к первому ответчику. Затем их сообщения о действиях будут перемещаться по цепочке ответчиков, пока они не достигнут того, что отвечает им.

Вам нужно убедиться, что ваш контроллер просмотра находится в цепочке ответчиков, установив его как следующий ответчик чего-то еще в цепочке ответчиков. Я бы предложил оконный контроллер.

Говоря о контроллере окна, вы, вероятно, должны обрабатывать отмену, а не в контроллере представления - было бы непонятно, чтобы разные представления в одном окне имели разные списки отмены. Единственное исключение, о котором я могу думать, было бы, если контролируемые представления соответствуют вкладкам документов, например, в Photoshop или Xcode.

Смежные вопросы