Имам клас (но нямам екземпляр) и трябва да знам дали отговаря на определен протокол. Въпреки това, Class може да бъде подкласиран няколко пъти и class_conformsToProtocol() игнорира протоколите, декларирани в суперкласовете.
Мога просто да използвам class_getSuperclass() и рекурсивно да проверя всички класове в йерархията нагоре, докато суперкласът стане нула. Чудя се обаче дали това може да е неефективно за дълбоко вложени йерархии на класове и може би има по-добър начин да направите това?
С други думи, как методът NSObject conformsToProtocol е най-добре реализиран с помощта на методи за изпълнение на Objective-C, така че да намира протоколи в суперкласове?
[myObject conformsToProtocol:@protocol(MyProtocol)];
Ако съм на прав път с рекурсивното изкачване в йерархията на класа, просто ме уведомете.