我遇到的问题是,当首选项窗口打开然后关闭时,它将无法再次打开。为什么会发生这种情况?如何解决这个问题?
编辑:刚注意到我也遇到了与主窗口相同的问题。正在通过菜单栏打开窗口,该窗口位于单独的NIB文件中。
答案 0 :(得分:8)
听起来你忘了设置窗口控制器的“窗口”插座(在Nib中,文件所有者)指向你的窗口。连接“窗口”插座后,窗口控制器的showWindow:方法将起作用。
答案 1 :(得分:3)
很难说没有看到代码,但有一种可能性是你在Interface Builder中为窗口选中了“Release When Closed”,你加载它一次,缓存它,然后期望能够关闭并重新启动 - 打开它而不再从笔尖加载。
答案 2 :(得分:2)
对于像我这样的任何其他新手,有这个问题:)
不要忘记将文件的所有者类设置为与控制器类相同,然后您可以将“窗口”插座连接到面板。
答案 3 :(得分:1)
我在Aaron Hillegass的Cocoa Programming for Mac OS X书中练习第12章(Nib文件和NSWindowController)练习时遇到了同样的问题。 Doug的上述答案是解决方案 - 我没有将Preferences.xib文件所有者的窗口连接到窗口本身(在本例中为Panel(Preferences)窗口)。
我右键单击Preferences.xib文件中的“文件所有者”,然后将鼠标左键从“窗口”拖动到“面板”(“首选项”)。完成并重建后,应用程序按预期工作。我可以关闭并重新打开自定义首选项面板,我之前的设置仍然存在(因为首选项窗口不会被隐藏卸载)。