我继续研究另一个人制作的应用程序。它在相关部分中查找与启动新项目时所获得的标准NSDocument基于窗口的应用程序相同(其中Window菜单的工作方式与正常情况相同,即NSDocument出现在Window菜单中,标题为Untitled)。
但是在这个应用程序中,Window菜单或应用程序似乎发生了一些事情,它以某种方式将这种自动行为与NSDocument断开了。
需要做大量的工作才能完成,提交,然后将(通过审核人员)应用程序拒绝进入一个新项目。
我正在寻找经验丰富的Mac app开发者:
需要满足哪些要求/依赖关系才能使NSDocument正常显示在“窗口”菜单中?
我已检查MyDocument.h/.m
(它们是标准存根,几乎未更改),以及MyDocument.xib
,MainMenu.xib
中的属性和出口/代理(无似乎缺少)和-Info.plist
(与新项目应用程序相同)。 我对XCode和Cocoa Touch很有经验,但还没有使用Cocoa。
我愿意检查并编写测试代码并给出快速反馈,如果你能帮我解决这个最后的障碍:)
答案 0 :(得分:0)
我遇到了同样的问题,并通过创建对窗口的引用并在nib加载时显示窗口来解决它:
- (void)windowControllerDidLoadNib:(NSWindowController *)aController
{
[super windowControllerDidLoadNib:aController];
[window makeKeyAndOrderFront: self];
}
我仍然不知道问题的原因。如果在尝试它不起作用后,尝试调试它。您可能会发现真正的原因,例如窗口可能已经被释放,因为它没有任何强引用(甚至在NSApp中)。