通过运行时来获取该注册类的所有子类

原创 2015年07月08日 10:33:22

使用该方法需要包含头文件

#import <objc/runtime.h>

//获取该注册类的所有子类
+ (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];
}

JAVA-获取实现了指定接口类的所有实现类或继承了指定类的所有子类

实际编程过程中,我们可能遇到这样的问题,就是获取实现了指定接口类的所有实现类。 本工具类就提供了这样的功能。下面是工具类的详细解析: /** * 查找指定路径下面实现指定接口的全部类 * @a...
  • u010156024
  • u010156024
  • 2015年04月04日 19:54
  • 11006

父类调用子类的成员变量

原文地址:http://xianglachigen.iteye.com/blog/1563929 前两天被问到一个程序,觉得挺有意思,拿出来和大家分享一下。程序如下:  class B...
  • shelbyandfxj
  • shelbyandfxj
  • 2016年08月20日 11:18
  • 2523

获取全部子类或接口的全部实现

模拟EclipseF4快捷键设计,以期获得类的结构层次关系。即,获得一个类的所有子类,或者获得实现某一个接口的所有实现类...
  • littleschemer
  • littleschemer
  • 2015年08月09日 18:38
  • 5247

PHP的继承方法如何获取子类名?get_class() 和 get_called_class()

PHP里的__CLASS__这类东西是静态绑定的,如果不在子类里重载的话,那么继承父类方法所得到的依旧是父类的名称,而不是子类的名称,比如: 01 02 clas...
  • tashanhongye
  • tashanhongye
  • 2015年08月14日 10:11
  • 2883

JAVA获取同一路径下所有子类或接口实现类

package zmx.util; import java.io.File; import java.io.IOException; import java.net.URL; impor...
  • zmx729618
  • zmx729618
  • 2016年05月04日 17:32
  • 2015

反射取子类、父类 属性

class Person { int age = 6; //这里的变量需要设置成public或default,下面说明原因 public int getInfo() throws Excep...
  • u012554102
  • u012554102
  • 2015年06月21日 10:32
  • 1720

利用反射获取子类,父类,接口的信息

1.测试类:package com.example;import com.example.utils.StringUtils;import java.lang.reflect.Field; impor...
  • rongrong_love_lc
  • rongrong_love_lc
  • 2017年01月04日 16:20
  • 2057

父类如何获取子类传递的泛型

package com.reflect.other;import java.io.Serializable;/** * 简单pojo类(测试用,无具体意义) * * @author edgew...
  • weixin_38756990
  • weixin_38756990
  • 2017年06月05日 22:01
  • 922

java反射机制之获取子类的具体泛型

java反射机制 获取子类的具体泛型的类型
  • xieqiaoxiyang
  • xieqiaoxiyang
  • 2015年07月31日 18:36
  • 4316

父类与子类之间变量和方法的调用

1)父类构造函数 java中当调用某个类的构造方法的时候,系统总会调用父类的非静态初始化块进行初始化,这个调用是隐式的,而且父类的静态初始化代码 块总是会被执行,接着调用父类的一个或者多个...
  • wohenqiang
  • wohenqiang
  • 2013年09月15日 23:53
  • 1731
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:通过运行时来获取该注册类的所有子类
举报原因:
原因补充:

(最多只允许输入30个字)