NSPopUpButton
プログラム内の複数の場所で使用する予定のサブクラス化したものがあります。特別な機能があるため、サブクラス化されています。
通常、アクションイベントを受信するには、コントローラークラスにメソッドを作成し、それをInterfaceBuilderに接続してアクションを処理します。たとえば、ユーザーがその中のオプションの1つを変更した場合、NSPopUpButton
以下のようなInterfaceBuilderアクションメソッドにメッセージが送信されます。
- (IBAction)sourcePopUpMenuChanged:(id)sender {
NSLog(@"sourcePopUpMenuChanged");
}
これはほとんどの場合問題ありませんが、私の場合は、コントローラークラスではなく自分自身のサブクラスにメッセージを送信するようにします。popUpMenu
ポップアップメニューはアプリケーションのさまざまなウィンドウに表示されるため、のインデックスを追跡するためにバックグラウンドでグローバル変数を設定しているため、これを実行したいと思います。
IBAction
このコントロールのすべてのウィンドウにイベントを作成し、毎回グローバル変数を手動で設定できることは承知していますが、これは非効率的なようです。
コントロールのいずれかのインスタンスが「アクション」メッセージを受信した場合、たとえば、のグローバル変数を設定するなど、ある種のコードを実行できる方法はありますかgIndex = PopUpMenu Index Selected
。
ヘルプは大歓迎です!