定義はこんな感じ。
@interface NSObject (DLIntrospection) + (NSArray *)classes; + (NSArray *)properties; + (NSArray *)instanceVariables; + (NSArray *)classMethods; + (NSArray *)instanceMethods; + (NSArray *)protocols; + (NSDictionary *)descriptionForProtocol:(Protocol *)proto; + (NSString *)parentClassHierarchy; @end
プログラムで使うというよりもデバッグで使う。
発想は悪くない。objc/runtime.hの使い方の参考にもなる。