0

XCode で 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 を使用する必要があります (どれも機能しません)。

ご協力いただきありがとうございます。

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 に答える