Objectiv-Cのプロトコル
プロトコルとは、ある機能に必要なメソッド宣言をまとめたもの
具体例。画面をタッチした時の処理をまとめたもの。
cocos2dのソースです(CCTargetedTouchDelegate.h)。
@protocol CCTargetedTouchDelegate <NSObject> /** Return YES to claim the touch. @since v0.8 */ - (BOOL)ccTouchBegan:(UITouch *)touch withEvent:(UIEvent *)event; @optional // touch updates: - (void)ccTouchMoved:(UITouch *)touch withEvent:(UIEvent *)event; - (void)ccTouchEnded:(UITouch *)touch withEvent:(UIEvent *)event; - (void)ccTouchCancelled:(UITouch *)touch withEvent:(UIEvent *)event; @end
注意点は「@optional」。
この記述以下のメソッドは実装しなくても良い。
つまり上の例では、「ccTouchBegan」は実装必須だが、
「ccTouchMoved」「ccTouchEnded」「ccTouchCancelled」は必須ではない。
使用例。ヘッダファイル。
@interface AkasanSprite : CCSprite <CCTargetedTouchDelegate> { } @end
さらに、メインファイルに実装を書く。