如何使用MacRuby实现NSTabView委托?

时间:2013-04-24 14:46:09

标签: macruby

我尝试使用MacRuby和XCode设置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(它们都不起作用)。

感谢您的帮助。

1 个答案:

答案 0 :(得分: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