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