Не уверен, что понимаю ваш вопрос, но есть метод на NSObject:
- (BOOL)conformsToProtocol:(Protocol *)aProtocol
Вы можете использовать это, чтобы проверить, соответствует ли объект определенному протоколу. Для более тонкого контроля вы можете использовать:
- (BOOL)respondsToSelector:(SEL)selector
чтобы проверить, будет ли объект отвечать на сообщение перед его отправкой.