Эти функции не являются отвратительными. Все они документированы в Objective-C Runtime Reference .
Одна из причин, по которой я думаю, что нет методов +properties
и +methods
, заключается в том, что редко вам нужно искать свойство / метод, для которого вы не знаете имя во время компиляции.
Наиболее полезными функциями интроспекции в ObjC являются -respondsToSelector:
, -isKindOfClass:
, -conformsToProtocol:
, NSInvocation
, KVC, KVO, NS Xxxx FromString, и они равны работа с объектами.