クラス階層をstderrに表示する
void printClassHierarchy(id object)
{
NSMutableArray *names = [NSMutableArray array];
Class objClass = [object class];
Class rootClass = [NSObject class];
while(objClass != rootClass) {
[names addObject:NSStringFromClass(objClass)];
objClass = [objClass superclass];
}
[names addObject:NSStringFromClass(rootClass)];
int i = 0;
for(NSString *name in [names reverseObjectEnumerator]) {
fprintf(stderr, "%*s%s\n", i++ * 4, " ", [name UTF8String]);
}
}