正式プロトコル
通信におけるプロトコル(TCP-IPとか)なんかと同様、オブジェクトに共通するメソッドを規約として定義するやり方。メソッドの中のアルゴリズムはおまかせだけど、メソッド名や引数、実行結果が同じであればいい。
以下のように宣言し、通常はヘッダファイルとして保存しておく。(実装ファイルはいらない)
@protocol プロトコル名
メソッドの宣言;
@end
そしてインポートして使う。
#import "プロトコル名.h"
@interface クラス名:スーパークラス名 <プロトコル名>
というのが書き方。
< >の間に何か書くのはObjective-Cで書いてれば知らず知らず使ってるよね。
クラス共通の規約だから、プロトコルに宣言されたメソッドは全部実装してやらないとダメ。
非形式プロトコル
プロトコルの一種だけど、意味合いがちょっと違う。メソッドの宣言をするのにNSObjectのカテゴリとして宣言する。
メソッドの実装は必須じゃない。
delegateを利用するのによく使う。
よくわかんないでしょ? 俺もよくわかんないw まあそういうものがあるっつーことで。
delegateを自作するなら、こっちをよく使うよね。
0 件のコメント:
コメントを投稿