Почему NSApplication sharedApplication mainMenu возвращает ноль?

Документы Apple говорят:

Все меню приложения в строке меню принадлежат одному экземпляру NSMenu, который создается приложением при запуске. Вы можете получить это главное меню с помощью метода NSApplication mainMenu.

У меня есть следующее в моем классе делегата, чтобы получить меню приложения:

- (void)applicationDidFinishLaunching:(NSNotification *)notification{
  NSMenu *mainMenu=[[NSApplication sharedApplication] mainMenu];
}

почему mainMenu ноль? Я звоню не в то время? Ввод [[NSApplication sharedApplication] mainMenu] на мой взгляд контроллер loadView также возвращает ноль.

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

1 ответ

Код возвращает ноль, потому что связанная раскадровка не имеет сцены приложения / строки меню.

Создание нового проекта Cocoa Application с помощью xcode создало все это для меня, и мне просто пришлось перенести мои файлы поверх. Код выше теперь возвращает NSMenu, как и ожидалось.

Другие вопросы по тегам