您的位置:首页 > 移动开发 > IOS开发

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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: