コース: Objective-C 基本講座

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

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

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

プロトコルとデリゲートデザインパターンを使う - Objective-Cのチュートリアル

コース: Objective-C 基本講座

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

このレッスンではオブジェクト間の 連携方法の1 つであるデリゲートデザイン パターンとこれを実現するために利用する ObjectiveC の文法 プロトコルを学習します タクシーを使っての移動を プログラムしてみましょう タクシーに対し 乗る 移動する 降りるを それぞれgeton move getoff とし 自分に向けられる 移動せよメッセージをgo とします これに従いタクシーと自分のクラスを定義し タクシーを自分のプロパティ トランスポーターに設定できるようにします そしてgo メソッド内部で geton,move,get off メッセージをトランスポーターに送ります 同じ考え方は馬にも利用できそうです ただこのままでは馬を設定できません 馬はタクシーではないからです タクシーから馬を派生させると可能に なりますがこれは混乱しそうです こういった場合自分が本来必要とする オブジェクトはどんなものかというと geton,move,get off この3 つのメッセージに 対応してくれるものということになります 対応してくれるなら どんなオブジェクトでもいいはずです ObjectiveC では こういった特定のメッセージに対応できる メソッドをリストアップしてそれらの メソッドを持っていることを オブジェクトが表明できる仕組みがあります それがプロトコルです プロトコルはプロキーワードに続けて その名称を書きエンドまでの間にメソッドや プロトコルを宣言します そしてそのプロトコル名をアングルブラケット で囲み何らかのオブジェクトの参照という 意味のID キーワードの後ろにつけることで そのプロトコルで表明された メソッドやプロトコルを装備している 何等かのオブジェクトという意味になります このことを 「プロトコルを採用している」と表現します これを自分のトランスポータープロの型として 指定します 後は馬がこの ボーディングプロトコルを採用していることを 示せば 馬はタクシーから派生することなく トランスポーターに指定できるようになります またタクシーも同じように ボーディングプロトコルをさいようします そうでないと今度はこちらがボーディング プロトコルを採用してないと注意されます ところでこのプロトコルの定義では NSObject ボーディングプロトコル…

目次