0

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

谢谢你的帮助。

4

1 回答 1

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
于 2013-07-21T20:43:02.320 回答