2009年8月19日水曜日

iPhone:Window-Based Templateとターゲットアクションについて

ターゲット・アクション処理を実装するのは、参考書などの手順に従ってやれば簡単に出来ましたが、いまいちその操作の意味が実感できないため自分なりの理解をまとめてみます。
(1)Window-Based Templateを用いてプロジェクトを作成した場合の初期状態は以下のようになっています。
UIApplidcationはアプリケーションの本体です。UIApplidcationはデリゲートとしてWebAppDelegate(Project名が"Web"のためこの名前になっています。)を保持しています。また、UIWindowを保持しています。
(2)Windowに、Interface Builderを用いてLabelやButtonを追加します。
(3)WebAppDelegateにOutletとActionを定義します。イベントが発生した場合にメッセージを受け取り処理(アクション)を行うオブジェクトのことをターゲットと呼びます。つまり、ここではWebAppDelegateがターゲットです。ターゲットにするのは必ずしもWebAppDelegateである必要はありません。たまたますでに存在していたクラスを使っただけで、別のクラスを新規作成してもかまいません。デリゲートとターゲットアクションをはっきり区別する意味で、本来は別のクラスにした方が理解しやすいのではないかとも思います。

(4)Interface Builderを使ってOutlet/ActionをUIオブジェクトと関連付けます。また、アクションメソッドに処理を記述します。WebAppDelegateでは、OutletとしてLabelのインスタンスを保持していますので、Labelに対してテキストの変更などのメッセージを送ることが出来ます。

0 件のコメント:

コメントを投稿