アクション接続の作成
あなたのコードにコントロールからメッセージを送信するアクション接続を作成します。例えば、ユーザーがボタンコントロールをクリックすると、ボタンは、適切なアクションを実行するようコードに伝えるアクションメッセージを送信する必要があります。
手順
- プロジェクトナビゲータで、ストーリーボードまたは xib ファイルを選択します。
- Interface Builder で、アウトラインビュー内またはキャンバス上でクリックして、構成したいコントロールを選択します。
- [表示(View)] > [アシスタントエディタ(Assistant Editor)] > [アシスタントエディタの表示(Show Assistant Editor)] を選択してください。
- 実装ファイルに Interface Builder でコントロールから Control - ドラッグします。
- マウスボタンを離すと、アシスタントエディターは、[接続(Connection)] メニューを表示します。
- アクションメソッドの名前を入力し、[接続(Connect)] をクリックします。
- 定義の骨格にアクションメソッドを実装したソースコードを追加します。
Interface Builder でファイルの内容が開きます。
コントロールはユーザ・インターフェース・オブジェクトであり、ボタン、テキストフィールド、スイッチ、スクロールバー、またはスライダーのように、ユーザーがオブジェクトを操作すると、インスタントアクションや目に見える結果を引き起こします。アウトラインビューが表示されない場合は、キャンバスの左下隅にあるドキュメントアウトライン表示() コントロールをクリックして表示します。ネストされたオブジェクトのリストからコントロールを選択します。
アシスタントエディターは、オブジェクトの実装ファイルを開きます。
あなたのコード内のアクションメソッドを挿入できる場所を Xcode は示します。(スクリーンショットでは、アシスタントエディターが、Warrior ボタンのビューコントローラの実装ファイルを表示しています。)


以下に示すように、実装ファイルでは、Xcode は、新しいメソッドの定義の骨格を挿入します。IBAction の戻り値の型は、インスタンスメソッドが、ストーリーボードまたは xib ファイルに接続できることを示す特別なキーワードです。Xcode はまた、指定されたイベントを処理するボタンのターゲットとしてメソッドを追加します。その結果として、コントロールがアクションメッセージを受信するたびに、メソッドが呼び出されます。

コントロールのアクティベーションは、システムによって実装されているのに対し、あなたがコントロールの動作を実装しなければなりません。以下のスクリーンショットでは、ユーザーが Warrior ボタンをクリックすると、アクションメソッドは、新しいゲームを開始します。

他の選択: 接続パネルと接続インスペクタを使用すると、立て続けに同じオブジェクトに対して複数の接続を作成できます。コントロールを Control - クリックし、マウスボタンを放して、接続パネルを表示するか、または、[表示(View)] > [ユーティリティ(Utilities)] > [接続インスペクタの表示(Show Connection Inspector)] を選択して接続インスペクタを表示します。アクションの右側にある円をクリックし、接続のためにターゲットオブジェクトの上にドラッグします。(ターゲットが表示されていない場合は、子供たちを開いて明らかにするために、その上にポインタを置きます。)
オブジェクトが強調表示されない場合、それは正しい型ではなく、ソースオブジェクトに接続できません。ターゲットオブジェクトが強調表示する場合は、マウスボタンを離します。Interface Builder は、ターゲットオブジェクトのアクションメソッドのリストが表示されます。接続を完了する目的のアクションメソッドを選択して下さい。
関連記事
ターゲットアクション