在NSWindowController窗口Outlet中苦苦挣扎

时间:2010-05-20 12:46:15

标签: objective-c cocoa xcode interface-builder

我确信这是一个非常简单的问题,但是我把头发拉过来了!

我有一个名为WinAController的NSWindowController的子类。这是在IB中创建的,位于MainMenu.xib中。

我有一个名为WinA.xib的单独nib,它只包含一个窗口。在这个笔尖中,我设置了以下内容:

  1. 文件类所有者为WinAController
  2. 文件所有者对WinA的window属性
  3. WinA代表WinAController(实施NSWindowDelegate协议)。
  4. 我已将MainMenu上的菜单项连接到WinAController的-showWindow方法,以便在单击时,WinA应显示但没有任何反应。似乎没有设置WinAController的window属性。

    我哪里错了?我是否需要在代码中的某个位置使用WinA.xib初始化WinAController才能设置它?

    谢谢,

2 个答案:

答案 0 :(得分:0)

这个从WinAController调用,看起来效果很好:

- (id)init {
// Load our window from the nib
self = [super initWithWindowNibName:@"WinA"];

// Now we're initialised - return us
return self;
}

答案 1 :(得分:0)

加里 - 我在使用上面答案中的代码进行对话时遇到了类似的问题。我可以让对话框显示一次,但之后再也看不到了(我有一个简单的测试应用程序,带有一个带按钮的窗口来显示对话框)。我一直看到答案“将文件所有者对象上的窗口连接到笔尖中的窗口”,但无法弄清楚如何做到这一点。这听起来像是你要问的一部分。

以下是我的想法:除了您的解决方案,您还需要按照此链接中的步骤进行操作 - Connect Window Controller Outlet to Window