У меня есть Класс (но никакой экземпляр), и должен знать, соответствует ли он определенному протоколу. Однако Класс может несколько раз разделяться на подклассы, и class_conformsToProtocol () игнорирует протоколы, объявленные на суперклассах.
Я мог просто использовать class_getSuperclass () и рекурсивно проверить все классы в иерархию вверх, пока суперкласс не является нолем. Однако интересно, могло ли это быть неэффективно для глубоко вложенных иерархий классов, и возможно существует более хороший способ сделать это?
Другими словами, как метод NSObject conformsToProtocol лучше всего реализованные методы времени выполнения Objective C использования так, чтобы он нашел протоколы на суперклассах?
[myObject conformsToProtocol:@protocol(MyProtocol)];
Если я на правильном пути с рекурсивным восстановлением работоспособности иерархии классов, просто сообщенной мне.