123456789101112131415161718192021222324252627282930313233343536373839 |
- //
- // KKClassList.m
- // WWImageEdit
- //
- // Created by 邬维 on 2017/1/10.
- // Copyright © 2017年 kook. All rights reserved.
- //
- #import "KKClassList.h"
- #import <objc/runtime.h>
- @implementation KKClassList
- + (NSArray*)subclassesOfClass:(Class)parentClass
- {
- int numClasses = objc_getClassList(NULL, 0);
- Class *classes = (Class*)malloc(sizeof(Class) * numClasses);
-
- numClasses = objc_getClassList(classes, numClasses);
-
- NSMutableArray *result = [NSMutableArray array];
- for(NSInteger i=0; i<numClasses; i++){
- Class cls = classes[i];
-
- do{
- cls = class_getSuperclass(cls);
- }while(cls && cls != parentClass);
-
- if(cls){
- [result addObject:classes[i]];
- }
- }
-
- free(classes);
-
- return [result copy];
- }
- @end
|