美文网首页
在iOS中如何获取一个类的所有子类

在iOS中如何获取一个类的所有子类

作者: Charlie_Z | 来源:发表于2018-10-24 19:59 被阅读11次
- (NSArray *)getAllSubClassNameWithClass:(Class)class {
    NSMutableArray *results = [NSMutableArray array];
    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]) == class){
                [results addObject:NSStringFromClass(classes[i])];
                NSLog(@"%@\n", NSStringFromClass(classes[i]));
            }
        }
        free(classes);
    }
    return results;
}

相关文章

网友评论

      本文标题:在iOS中如何获取一个类的所有子类

      本文链接:https://www.haomeiwen.com/subject/lvvxtqtx.html