2012-01-17 45 views
0

我有下面的类层次结构:NSToolbar和视图控制器层次

​​

MyGeneralViewController保持由两个ViewControllerAViewControllerB中常用的一些代码。一个通用代码是NSToolbar的创建以及NSToolbarDelegate的必要协议方法的实现。

工具栏中的按钮之一是一个按钮,允许用户将NSTextView打开到单独的窗口(更多房地产,用于处理关键字等的附加功能)。

这种情况的方法是:

- (IBAction) openTextWindow: (id) sender { 

    [self setTextWindowController: [[TextWindowController alloc] init]]; 
    [[self textWindowController] showWindow]; 

} 

此工具栏按钮只应可用于由ViewControllerA控制的图。我的推理是,如果我仅对ViewControllerA实施openTextWindow方法,则对于由ViewControllerB控制的视图,工具栏按钮将变为灰色(不可用),因为运行时系统将上升到类层次结构以查找定义的方法toolbarbutton并没有找到它。

这似乎并非如此。当我使用MyGeneralViewController实现该方法时,该按钮始终可用(按预期方式,但不是我想要的)。但是,当我只为ViewControllerA实施它时,它永远不可用。

我是否错过了一些东西,或者这是它应该工作的方式?

回答

0

奇怪。离开这一段时间后,我决定再去一次。在整个项目完成之后,它们都按预期工作。

相关问题