コース: Objective-C 基本講座

今すぐコースを受講しましょう

今すぐ登録して、23,200件以上登録されている、業界エキスパート指導のコースを受講しましょう。

ターゲットアクションデザインパターンを使いタップに反応する

ターゲットアクションデザインパターンを使いタップに反応する - Objective-Cのチュートリアル

コース: Objective-C 基本講座

ターゲットアクションデザインパターンを使いタップに反応する

このレッスンでは ターゲットアクションデザインパターンと それを使って タッチに反応する方法を学習してください UIView ではユーザーのタッチに 対応する為のメソッドが用意されていて クラスを派生させて それらのメソッドをオーバーライドすれば 非常にきめ細やかな対応が可能となります ただし派生しか方法がないわけではありません 画面のタップに反応すればいいだけなら わざわざ UIView を派生させるよりは UItapGestureRecognizer を 使った方が簡単でいいでしょう UITapGestureRecognizer は 自分が登録された UIView と連携して ユーザーの指の動きを観察し タップを検出したら 事前に指定されていたオブジェクトに そのことを通知します UITapGestureRecognizer と 通知先として指定されたオブジェクトの関係は デリゲートデザインパターンに似ていますが こちらはプロトコルを使わず 呼び出し対象のオブジェクトと 呼び出してもらうメソッドを指定します プロトコルがなくメソッドの名称にも 制限はありませんが 指定できるメソッドは引数なしか オブジェクトの引数1つの どちらかに限定されます いずれも戻り値はありません オブジェクトの引数1 つの場合は 引数は送り元のオブジェクトとなります 今回なら UITapGestureRecognizer と いうことです このような連携方法をアップルでは ターゲットアクションデザインパターンと 読んでいます アップルの定義では ターゲットアクションデザインパターンで 渡せるメソッドには 引数が2 つのものも用意されていますが UITapGestureRecognizer は 引数1つです メソッド の指定では セレクタと呼ばれる型の値を渡します これはメッセージ送信から メソッド呼び出しの過程で使われるもので 「メソッド名 :」 「ラベルから作り出される値」です オブジェクトはメッセージから作り出される― セレクターを使い 自分が持つメソッド群から 対応するメソッドを探し 見つかったなら そのメソッドを呼び出して引数を渡します このセレクタをソースコード上で作るには セレクターを使い メソッド名 コロン ラベルを与えます このオブジェクトとセレクタは…

目次