10

我有一个使用 NSWindowController initWindowNibName 加载的 NIB 文件。NIB 文件包含一个 NSWindow。它的文件所有者属于 NSWindowController 类。我已将文件所有者的窗口插座连接到窗口。

当我加载 NIB 时,[windowController window] 为 nil,顶级对象数组也是如此。但是,我仍然可以调用 [windowController showWindow:nil] 并成功显示窗口​​。

这里似乎有些不对劲。我已经确认连接和文件所有者是好的。事实上,当我在调试器中查看 windowController 实例的 _owner 值时,我看到它像我预期的那样指向自身。

关于可能发生的事情有什么建议吗?

谢谢!

4

2 回答 2

7

当你说[windowController window]是 nil 时,你如何确定这个?-window直到第一次调用NIB 才真正加载。因此,如果您正在查看调试器,您将看到_windownil,直到您调用showWindow:. 之后,_window应该有一个非零值。

于 2009-05-14T18:38:29.087 回答
5

你有继承 NSWindowController 吗?

当我这样做时,我使用一个名为 MyWindowController 的 NSWindowController 并调用initWithWindowNibName:子类的init

然后,将 File's Owner 设置为指向 MyWindowController 类。

于 2009-05-13T09:58:25.740 回答