我尝试使用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(它们都不起作用)。
感谢您的帮助。
答案 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