iOS下如何获取一个类的所有子类
2015-07-23 10:53
253 查看
因为项目中,不同用户切换时,用的是不同数据库,路径不同,而JKDBModel,数据库创建和字段检测,在app一次生命周期里,只会执行一次,所以得考虑账号切换时,创建数据库,需要获取所有JKDBModel的子类,期望Xcode文档中找到类似class_getSubclass这样的API无果,后来在stackoverflow上找到一个类似的解决方案:
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]) == [JKDBModel class]){ NSLog(@"%@", NSStringFromClass(classes[i])); } } free(classes); }原文地址:http://stackoverflow.com/questions/8183136/get-all-subclasses-of-uiview-in-runtime-in-objective-c
相关文章推荐
- iOS下如何获取一个类的所有子类
- iOS定位获取经纬度以及计算位置
- 关于iOS block循环引用的一点理解
- iOS 晃动手势
- iOS静态代码分析时常见错误及解决办法
- iOS 7 隐藏特性
- iOS Sprite Kit教程之xcode安装以及苹果帐号绑定
- iOS应用启动时不占满全屏,上下有黑边
- iOS navigationBar颜色
- iOS 7的手势滑动返回
- 正则表达式在iOS中的运用
- iOS Sprite Kit教程之xcode安装以及苹果帐号绑定
- iOS开发,最新判断是否是手机号的正则表达式
- iOS提高开发效率的开源框架整理
- ios的类别(category)和扩展(Extension)
- 干货 IOS设备分辨率一览
- iOS开发-常用第三方开源框架介绍
- iOS核心动画
- iOS开发 ----- 学生管理系统改进版
- 影藏tabbar