2013-04-24 62 views
0

我嘗試使用MacRuby與XCode設置NSTabView委託,但我無法確定如何編寫委託。我使用:如何使用MacRuby實現NSTabView委託?

def intialize 
@tab_changed.delegate = self 
end 

def tabViewdidSelectTabViewItem(a_notification) 
puts "tab has changed" 
end 

然後在的.xib,我勾帶班NSTab視圖元素,但是當我選擇一些標籤沒有發生。 通常委託是非常容易使用,但是這其中有這樣的語法: TabView的:didSelectTabViewItem:

,我不知道如何在MacRuby的寫。我應該使用tabViewdidSelectTabViewItem或tabView_didSelectTabViewItem(它們都不起作用)。

感謝您的幫助。

回答

0

假設這是在ViewController中完成的,而不是使用initialize,那麼最好用Cocoa的方法來做事情,並使用像viewDidLoad這樣的方法。

def viewDidLoad 
    @tab_changed.delegate = self 
end 

您想要的代表方法的簽名是-(void)tabView:(NSTabView *)tabView didSelectTabViewItem:(NSTabViewItem *)tabViewItem。在MacRuby中,這將表示如下:

def tabView(tabView, didSelectTabViewItem: tabViewItem) 
    puts "tab has changed" 
end