Simple gadget life programming diary

Simple gadget life の中の人によるプログラミングメモ

Objective-Cのプロトコルの宣言と定義について。

ネット上で各種サンプルをみていると、宣言時と定義が同じタイミングで行われており、戻り値の定義でvoid以外が使えなかったり、引数にNSArrayや独自クラスなどが使えなかったりしていた。
どうすれば使えるかという事についてメモ。

//ヘッダーファイル
#import <Foundation/Foundation.h>
@protocol testObjectDelegate; //この部分ではプロトコルの宣言だけで終了。

@interface testObject : NSObject

@property (nonatomic,retain) id delegate;

-(void)buttonPushed;

@end

@protocol testObjectDelegate <NSObject> //ここにプロトコルの定義を記載。

- (void)delegateMethod:(testObject*)testobject; //自分を引数としてデリゲートの利用先へ送る事が出来る。

@end

デリゲートの宣言はクラスのヘッダーファイルの先頭で、デリゲート定義はクラスのinterface定義後に定義。これで使えるようになる。