2012-01-17 201 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

奇怪。離開這一段時間後,我決定再去一次。在整個項目完成之後,它們都按預期工作。

相關問題