2

苹果的文档说:

菜单栏中的所有应用程序菜单都归一个 NSMenu 实例所有,该实例由应用程序在启动时创建。您可以使用 NSApplication 方法 mainMenu 检索此主菜单。

我在我的委托类中有以下内容来获取应用程序的菜单:

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

为什么是mainMenu零?我在错误的时间打电话吗?放入[[NSApplication sharedApplication] mainMenu]我的视图控制器loadView也返回 nil。

我要做的就是将项目添加到应用程序菜单栏。

4

1 回答 1

1

该代码返回 nil,因为关联的 Storyboard 没有应用程序场景/菜单栏。

使用 xcode 创建一个新的 Cocoa 应用程序项目为我构建了这一切,我只需要将我的文件移植过来。上面的代码现在按预期返回 NSMenu。

于 2017-01-24T20:34:05.597 回答