iPhone How-to:如何dump所有类

 

在iPhone开发中,你可能会很好奇开发SDK到底提供了多少类,当然更想“偷窥”下其中的私有类。相信下面的代码段会满足这种好奇心。

 

extern int objc_getClassList(Class*, int);
extern const char * class_getName(Class cls);

 

@implementation DumpClassesViewController

- (void)viewDidLoad
{
    [super viewDidLoad];

    // 获取类总数
    int numOfClasses = objc_getClassList(nil, 0);
    NSLog(@”Number of Classes:%d\n”, numOfClasses);

    // 分配类列表空间
    Class *classes = (Class*)malloc(sizeof(Class) * numOfClasses);

    // 获取类列表
    numClasses = objc_getClassList(classes, numOfClasses);

    // 遍历打印各个类名
    for(int i = 0; i < numOfClasses; i++)
    {
        Class c = classes[i];
        NSLog(@"%s ", class_getName(c));
    }

    // 释放类列表空间
    free(classes);
}

@end

 

原文链接:http://akamatsu.org/aka/?p=5165

你可能感兴趣的:(移动开发,职场,iPhone,休闲,输出类)