Главное меню в разных перьях - PullRequest
0 голосов
/ 16 января 2012

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

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

Мудрое решение?

1 Ответ

0 голосов
/ 16 января 2012

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

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...