苹果的文档说:
菜单栏中的所有应用程序菜单均归一个NSMenu所有
应用程序启动时创建的实例。您可以
使用NSApplication方法mainMenu检索此主菜单。
我在委托类中具有以下内容以获取应用程序的菜单:
- (void)applicationDidFinishLaunching:(NSNotification *)notification{
NSMenu *mainMenu=[[NSApplication sharedApplication] mainMenu];
}
为什么
mainMenu
为零?我在错误的时间打电话吗?将[[NSApplication sharedApplication] mainMenu]
放入我的视图控制器的loadView
中也会返回nil。我要做的就是将项目添加到应用程序菜单栏中。
最佳答案
该代码返回nil,因为关联的故事板没有应用程序场景/菜单栏。
用xcode创建一个新的Cocoa Application项目为我完成了所有这些工作,而我只需要移植文件即可。上面的代码现在按预期返回NSMenu。
关于macos - 为什么NSApplication sharedApplication mainMenu返回nil?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/41831912/