2010-08-29 39 views

回答

0

我们用连接的出口Fred调用对象。

您在笔尖实例化了Fred,对吗?

而且你有Fred加载笔尖,对吗?

如果对这两个问题中的任何一个的答案都是“否”,则忽略此答案。

如果答案都是“是”,请继续阅读。

这是错误的。弗雷德应该只做这两件事中的一件。有机会,你打算让Fred成为文件的所有者,并在那里连接连接。你在笔尖上创造的额外的弗雷德就是这样 - 一个额外的弗雷德,第二个弗雷德,加载了笔尖。你有两个Freds,并且你已经连接到菜单视图的那个连接(对于一个动作信息,我猜测)并不是你的连接。

在喙中关闭Fred,只留下装载笔尖的Fred。在笔尖中,声明文件的所有者为Fred的类,并在Fred的实现中,确保在加载笔尖时您是文件的所有者。

如果您使用NSWindowController加载它,则需要明确传递自己作为所有者;否则,NSWindowController是所有者。既然你想让Fred成为所有者,那么当你实例化它时,你需要告诉窗口控制器。另一种方法是使用NSBundle直接加载笔尖,而不需要中间窗口控制器。

0
menuView.hidden = NO; 

也许?

+1

对于列出的海报,这只是不同的语法。 – samkass 2010-08-29 14:29:56

1

您是否已验证menuView已连接(NSLog()之前显示它),并且它实际上有一些内容?

+0

如果我没有将它设置为隐藏在IB中,它将显示它的所有荣耀。 – Oliver 2010-08-29 14:27:14

+0

IB中的视图显示...但是,您是否已连接menuView从代码中的变量到IB中的视图是Ben的说法。 – 2010-08-29 14:30:31

+0

我查过了,连接肯定在IB。 我试过“NSLOG(@”%@“,self.menuView)”(不知道这是否正确...我是新来的),我得到“空”。 – Oliver 2010-08-29 14:45:23

2

IB视图对象是否连接到menuView变量?否则,修改menuView将是一个无操作。我会在调试器中运行它,并确保在setHidden调用中menuView不为null。如果是,请返回IB并确保将视图连接到插座。