Macos Mac应用程序,NSDocument窗口未出现在窗口菜单中

Macos Mac应用程序,NSDocument窗口未出现在窗口菜单中,macos,nswindow,nsdocument,mac-app-store,nsmenuitem,Macos,Nswindow,Nsdocument,Mac App Store,Nsmenuitem,我继续开发另一个应用程序。它在相关部分的外观与启动新项目时获得的标准NSDocument基于窗口的应用程序相同,在该项目中,窗口菜单的工作方式与正常情况类似,即NSDocument出现在窗口菜单中,标题未命名 但在这个应用程序中,窗口菜单或应用程序似乎发生了一些事情,以某种方式断开了这种自动行为与NSDocument的连接 要将此应用程序完成、提交并随后被审阅者拒绝,并进入一个新的项目,需要做大量的工作 我希望有经验的Mac应用程序开发人员: 要使NSDocument正常显示在窗口菜单中,需要满

我继续开发另一个应用程序。它在相关部分的外观与启动新项目时获得的标准NSDocument基于窗口的应用程序相同,在该项目中,窗口菜单的工作方式与正常情况类似,即NSDocument出现在窗口菜单中,标题未命名

但在这个应用程序中,窗口菜单或应用程序似乎发生了一些事情,以某种方式断开了这种自动行为与NSDocument的连接

要将此应用程序完成、提交并随后被审阅者拒绝,并进入一个新的项目,需要做大量的工作

我希望有经验的Mac应用程序开发人员:

要使NSDocument正常显示在窗口菜单中,需要满足哪些要求/依赖关系

我已经检查了MyDocument.h/.m,它们是标准存根,几乎没有变化,MyDocument.xib、main menu.xib中的属性和outlets/delegate似乎没有丢失,并且-Info.plist与新项目应用程序的属性和outlets/delegate相同。我对XCode和Cocoa Touch很有经验,但对Cocoa还没有经验


如果您能帮助我克服最后一个障碍,我愿意进行检查、编写测试代码并提供快速反馈:

我刚刚遇到了同样的问题,通过创建对窗口的引用并在加载nib时显示窗口解决了这个问题:

- (void)windowControllerDidLoadNib:(NSWindowController *)aController
{
    [super windowControllerDidLoadNib:aController];
    [window makeKeyAndOrderFront: self];
}

我仍然不知道问题的原因。如果尝试后它不工作,尝试调试它。您可能会发现真正的原因,例如,该窗口可能已被解除分配,因为即使在NSApp中也没有对它的任何强引用。

我刚刚遇到了相同的问题,并通过创建对该窗口的引用并在加载nib时显示该窗口解决了该问题:

- (void)windowControllerDidLoadNib:(NSWindowController *)aController
{
    [super windowControllerDidLoadNib:aController];
    [window makeKeyAndOrderFront: self];
}

我仍然不知道问题的原因。如果尝试后它不工作,尝试调试它。您可能会发现真正的原因,例如,该窗口可能已被取消分配,因为即使在NSApp中也没有任何有力的引用。

基于文档的应用程序系统一开始可能会有点混乱。确保您正在使用NSDocumentController对象。。。我认为这会有所帮助。基于文档的应用程序系统一开始可能会有点混乱。确保您正在使用NSDocumentController对象。。。我想那会有帮助的。