Ho una classe (ma nessuna istanza) e ho bisogno di sapere se è conforme a un determinato protocollo. Tuttavia, Class può essere sottoclassato più volte e class_conformsToProtocol () ignora i protocolli dichiarati nelle superclassi.
Potrei semplicemente usare class_getSuperclass () e controllare ricorsivamente tutte le classi nella gerarchia verso l'alto fino a quando la superclasse è nulla. Tuttavia mi chiedo se ciò potrebbe essere inefficiente per le gerarchie di classi profondamente annidate, e forse c'è un modo migliore per farlo?
In altre parole, in che modo il metodo NSObject è conforme al protocollo meglio implementato usando i metodi di runtime Objective-C in modo che trovi i protocolli sulle superclassi?
[myObject conformsToProtocol:@protocol(MyProtocol)];
Se sono sulla buona strada per salire ricorsivamente alla gerarchia di classi, fammelo sapere.