У меня есть nib (winA.xib), который содержит окно. Мой делегат приложения содержит подкласс NSWindowController под названием WinAController.Получение определенного пункта меню из MainMenu
WinAController имеет свойство (NSMenu * mainMenu), которое я хочу указать на MainMenu. Я поставил его после того, как я создаю экземпляр WinAController с этим кодом:
WinAController = [[WinAController alloc] initWithWindowNibName:@"WinA"];
WinAController.mainMenu = [NSApp mainMenu];
У меня есть пункт меню под пунктом «Окно» верхний уровень меню на MainMenu, который вызывает [WinAController ShowWindow] метод и отображает WINA. Я хочу переключить состояние включения/выключения этого пункта меню в зависимости от того, виден ли WinA или нет. WinAController также имеет другое свойство (NSMenuItem * myMenuItem).
Как получить ссылку на подменю меню верхнего уровня «Окно». Название элемента подменю, которое я хочу получить, это «Команда». Я пробовал:
if (mainMenu != nil) {
myMenuItem = [mainMenu itemAtIndex:[mainMenu indexOfItemWithTitle:@"Command"]];
}
Но он не работает.
Куда я иду не так?
Спасибо,
Edit: я теперь размещены WinAController в mainMenu.xib. Я установил WinA (в winA.xib) владельца файла как класс WinAController, но я не могу понять, как подключить WinAcontroller окно IBOutlet к WinA, поскольку они находятся в разных норах!
Я очень новичок в nib-файлах, и большая часть работы, которую я делал до настоящего времени, создавала вещи программно - я не был уверен в создании пользовательского NSWindowController в IB. Возможно, я сейчас передумаю. На самом деле я нахожу IB более сложным, чем Xcode! – Garry
Как в стороне, вы подключаете выходное отверстие окна в окошке окна и пункт меню в MainMenu.nib. –