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一....
    40c0490e5268阅读 1,857评论 0 9
  • *面试心声:其实这些题本人都没怎么背,但是在上海 两周半 面了大约10家 收到差不多3个offer,总结起来就是把...
    Dove_iOS阅读 27,274评论 30 472
  • 1、禁止手机睡眠[UIApplication sharedApplication].idleTimerDisabl...
    DingGa阅读 1,159评论 1 6
  • 一、浏览公开课课件 思路:1、英文阅读很重要;2、通过问卷调查找到家长开展阅读的问题;3、提供终极解决方案 二、听...
    易查理阅读 491评论 0 0
  • 心情差 责怪自己 觉得这个那个不好都是自己的过 什么鬼 什么体质 期末要完蛋? 不行! 我要好好考试
    匪匪匪夷阅读 236评论 0 0