Objective-C 基本講座

プロトコルとデリゲートデザインパターンを使う

全333コースを10日間無料で

ぜひご覧ください。

無料で視聴する すべての加入プランを見る
または
オブジェクト間の連携方法デリゲートデザインパターンについて学習します。
講師:
06:33

字幕

このレッスンではオブジェクト間の 連携方法の1 つであるデリゲートデザイン パターンとこれを実現するために利用する ObjectiveC の文法 プロトコルを学習します タクシーを使っての移動を プログラムしてみましょう タクシーに対し 乗る 移動する 降りるを それぞれgeton move getoff とし 自分に向けられる 移動せよメッセージをgo とします これに従いタクシーと自分のクラスを定義し タクシーを自分のプロパティ トランスポーターに設定できるようにします そしてgo メソッド内部で geton,move,get off メッセージをトランスポーターに送ります 同じ考え方は馬にも利用できそうです ただこのままでは馬を設定できません 馬はタクシーではないからです タクシーから馬を派生させると可能に なりますがこれは混乱しそうです こういった場合自分が本来必要とする オブジェクトはどんなものかというと geton,move,get off この3 つのメッセージに 対応してくれるものということになります 対応してくれるなら どんなオブジェクトでもいいはずです ObjectiveC では こういった特定のメッセージに対応できる メソッドをリストアップしてそれらの メソッドを持っていることを オブジェクトが表明できる仕組みがあります それがプロトコルです プロトコルはプロキーワードに続けて その名称を書きエンドまでの間にメソッドや プロトコルを宣言します そしてそのプロトコル名をアングルブラケット で囲み何らかのオブジェクトの参照という 意味のID キーワードの後ろにつけることで そのプロトコルで表明された メソッドやプロトコルを装備している 何等かのオブジェクトという意味になります このことを 「プロトコルを採用している」と表現します これを自分のトランスポータープロの型として 指定します 後は馬がこの ボーディングプロトコルを採用していることを 示せば 馬はタクシーから派生することなく トランスポーターに指定できるようになります またタクシーも同じように ボーディングプロトコルをさいようします そうでないと今度はこちらがボーディング プロトコルを採用してないと注意されます ところでこのプロトコルの定義では NSObject ボーディングプロトコル を採用するのが慣例です 同じNSObject という名前ですが こちらはボーディングプロトコルです NSObject が持つメソッドや プロトコルを表明しています こうすることでID 側が プロトコルを採用するだけで NS プロトコルのメソッドやプロトコルを 利用できることを示せるようになります また一般に相互参照を避けるため weak キーワードをつけて 参照カウントを増やさないようにもします 必要ならプロトコルはカンマで区切って アングルブラケット内に並べることで 複数採用できますし派生元ですでに採用済みの プロトコルを再度採用しても問題ありません それぞれのプロトコルの中に 同名のメソッドがあっても構いません このように自分が移譲したいふるまいを プロトコルとしてまとめておきそのプロトコル を採用したオブジェクトに自分のふるまいを 移譲する連携方法をアップルでは デリゲートデザインパターンと呼びます 実際の動きを確認しましょう Xcode の画面に切り替えます メインでは自分を作っておいて まずはタクシーを設定して ランしてみます 今度は馬に変えてみましょう weak はつけていますが トランスポーターは タクシーのままにしているので 種類が合わないと注意されます ボーディングを採用したIDに 変更してみましょう 馬側はあらかじめ ボーディングを採用させています そのため問題なく差し替えられます ただし今度はタクシーが文句を言われます タクシーが ボーディングを採用していないからです タクシーにもボーディングを採用させます 注意されなくなりました 馬も注意されません ランさせてみます このレッスンでは プロトコルを間の連携方法の1つである デリゲートデザインパターンとこれを実現する ために利用するObjectiveC の文法 プロトコルを学習しました

Objective-C 基本講座

このコースはプログラミング初心者でもObjective-CによるiOSアプリ開発の体系的な理解が得られるように構成されています。プログラムの動作の原理、Objective-C言語の役割、そこで利用されるCocoa touchオブジェクトの役割、基本的なiOSアプリの作成方法などを学習します。ぜひこのコースをアプリ開発に踏み出すさいの第一歩としてください!

6時間39分 (69 ビデオ)
現在、カスタマーレビューはありません…
 
ソフトウェア・トピック
価格: 3,990
発売日:2015年11月18日

このコースは、「オンデマンド」でご利用可能であり、ダウンロードすることもオンラインで見ることもできます。

ダウンロードすると、オフラインでコースを使用し、豊富なインターフェースをフルに活用できます。複数のデバイスを使用したり、 一度に全コースをダウンロードしたくない場合は、アカントにログインして、ストリーミング・ビデオとしてコースのレッスンを視聴してください。

ビデオトレーニングをお楽しみいただけますように! お問い合わせは、cs-jp@lynda.com宛までご連絡ください。