我有一个使用NSWindowController initWindowNibName加载的NIB文件。 NIB文件包含一个NSWindow。它的文件所有者是类NSWindowController。我已将文件所有者的窗口连接到窗口。
当我加载NIB时,[windowController窗口]为nil,顶层对象数组也是如此。但是,我仍然可以调用[windowController showWindow:nil]并成功显示窗口。
这里的东西似乎不对。我已经确认了连接,文件的所有者也没问题。事实上,当我在调试器中查看windowController实例的_owner值时,我发现它指向了我自己的预期。
有关可能发生的事情的任何建议?
谢谢!
答案 0 :(得分:7)
当你说[windowController window]
为零时,你是如何确定的?在第一次调用-window
之前,实际上并未加载NIB。因此,如果您正在查看调试器,则在调用_window
之前,您会看到showWindow:
为nil。之后,_window
应该具有非零值。
答案 1 :(得分:5)
你是否已经将NSWindowController子类化了?
当我这样做时,我使用名为MyWindowController的NSWindowController并在子类的initWithWindowNibName:
init
然后,将File的Owner设置为指向MyWindowController类。