以下のメソッドを使えば、あるクラスまたはインスタンスが指定のプロトコルに適合しているかどうかをチェックできる。
+ (BOOL)conformsToProtocol:(Protocol *)protocol;
- (BOOL)conformsToProtocol:(Protocol *)protocol;
サンプル
id obj = ....;
if ( [obj conformsToProtocol:@protocol(FooProtocol)] ) {
id<FooProtocol> fooObj = obj;
...
...
}