首选项窗口问题(一旦打开和关闭,将无法再次打开)

时间:2009-05-03 19:07:25

标签: cocoa preferences

我遇到的问题是,当首选项窗口打开然后关闭时,它将无法再次打开。为什么会发生这种情况?如何解决这个问题?

编辑:刚注意到我也遇到了与主窗口相同的问题。

正在通过菜单栏打开窗口,该窗口位于单独的NIB文件中。

4 个答案:

答案 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文件中的“文件所有者”,然后将鼠标左键从“窗口”拖动到“面板”(“首选项”)。完成并重建后,应用程序按预期工作。我可以关闭并重新打开自定义首选项面板,我之前的设置仍然存在(因为首选项窗口不会被隐藏卸载)。