非形式プロトコル

プロトコルコンパイル時に適合しているか検査されるのに対して、非形式プロトコルの場合は実装されていなくてもコンパイル可能。実行時に各メソッドが実装されているかどうかを検出することしかできない。非形式プロトコルの実装方法としてはNSObjectへのカテゴリにするという方法がある(NSObjectのカテゴリ宣言は非形式プロトコルである)