利用运行时,查看一个类的所有子类

- (void)demoSubclass
{
    int numClasses;
    Class *classes = NULL;
    numClasses = objc_getClassList(NULL,0);
    
    if (numClasses >0 )
    {
        classes = (__unsafe_unretained Class *)malloc(sizeof(Class) * numClasses);
        numClasses = objc_getClassList(classes, numClasses);
        for (int i = 0; i < numClasses; i++) {
            if (class_getSuperclass(classes[i]) == [FDBaseData class]){
                NSLog(@"FS: %@", NSStringFromClass(classes[i]));
            }
        }  
        free(classes);  
    }
}

 

posted on 2016-09-18 10:24  森code  阅读(267)  评论(0编辑  收藏  举报