IOS 获取父类的所有子类

1、获取父类的所有子类

-(void)getSubclass

{

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]) == [BaseTableViewController class]){

NSLog(@"%@===%@",classes[i], NSStringFromClass(classes[i]));

}

}

free(classes);

}

}

2、在添加页面统计等时,直接在父类实现添加方法,但是要读到子类的类名

比如在父类中添加友盟页面统计

-(void)viewWillAppear:(BOOL)animated

{

[super viewWillAppear:animated];

NSLog(@"%@",[NSString stringWithUTF8String:object_getClassName(self)]);

[MobClick beginLogPageView:[NSString stringWithUTF8String:object_getClassName(self)]];

}

-(void)viewWillDisappear:(BOOL)animated

{

[super viewWillDisappear:animated];

[MobClick endLogPageView:[NSString stringWithUTF8String:object_getClassName(self)]];

}

推荐阅读更多精彩内容

  • 转至元数据结尾创建: 董潇伟,最新修改于: 十二月 23, 2016 转至元数据起始第一章:isa和Class一....
    萌萌的小伟哥阅读 446评论 0 0
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 20,111评论 40 450
  • 一、浏览公开课课件 思路:1、英文阅读很重要;2、通过问卷调查找到家长开展阅读的问题;3、提供终极解决方案 二、听...
    易查理阅读 46评论 0 0
  • 心情差 责怪自己 觉得这个那个不好都是自己的过 什么鬼 什么体质 期末要完蛋? 不行! 我要好好考试
    匪匪匪夷阅读 16评论 0 0
  • 1, 关于好奇。生活中我还算是一个喜欢好奇的人,凡事喜欢追根究底,但在家庭生活上我觉得我做的并不好。比如老公下班回...
    Xuequi阅读 16评论 0 0