4

Interface Builder がイベントをトリガーするコンポーネントと他のコンポーネントのメッセージとの間のグラフィカル接続の送信メッセージ アウトレットを決定する方法に関するドキュメントを見つけることができません。
有限状態オートマトンをカプセル化したコンポーネントを生成したいと考えています。入力部分はシンプルで、IBAction メッセージを定義するだけで、Interface Builder でそれらを接続できます。トリッキーな部分は、明らかにそのような接続のもう一方の端です。
FSM によってトリガーされるイベントごとに、NSButton の「セレクター」アウトレット (インスペクターの「接続」タブの「送信済みメッセージ」の下にリストされている) のような個別のアウトレットを提供したいと考えています。
このようなインターフェイスをプログラムで指定するにはどうすればよいですか? また、これらのインターフェイスを複数指定できますか? または、このアプローチは適切ではありません。通知はより良い方法でしょうか? (私は Visual Age と Parts からのグラフィカル接続を使用しているので、それらを好むのですが、Interface Builder では、そのような接続のサポートは何らかの形で制限されているようです)。

前もって感謝します

私の質問の最初の部分は、「Send An Action Cocoa - IBAction」という質問で回答されています。複数の「送信済みメッセージ」を定義する可能性をまだ探しています。

4

1 に答える 1

0

IBActionsを使用してメソッドを実装すると、メッセージを生成したオブジェクト(送信者)がメッセージに渡されます。したがって、インターフェイスに「ログアウト」というボタンがあり、名前が付けられたコントローラーオブジェクトに対するアクションがあり、logout:これらを配線した場合、メソッドはそれをトリガーしたボタンのインスタンスを受け取ります。例えば:

- (void)logout:(id)sender
{
  // sender is the instance of whichever wired button triggered
  // this action. We just NSLog() it for now.
  NSLog(@"-[%@ logout:%@]", self, sender);
}

他のオブジェクトもこのアクションを呼び出す場合があり、送信者として自分自身を渡すか、nilを渡す場合があります。これの詳細はデザイナーとしてあなたに任されます。

于 2009-12-11T19:50:41.117 に答える