获取所有本机类的列表

范围

我想获取我已加载到我的iOS项目中的所有本机类(NSString,NSNumber,int,float,NSSet,NSDictionary)。

即,如果我创建了一个名为“ TestClass”的自定义类,则我不想将其列出...

我已经有了一个代码,但是它返回以任何我可以修改代码的方式加载的所有类的名称,以将列表限制为仅本机类?

#import <objc/runtime.h>
#import <dlfcn.h>
#import <mach-o/ldsyms.h>


unsigned int count;
const char **classes;
Dl_info info;

dladdr(&_mh_execute_header, &info);
classes = objc_copyClassNamesForImage(info.dli_fname, &count);

for (int i = 0; i < count; i++) {
  NSLog(@"Class name: %s", classes[i]);
  Class class = NSClassFromString ([NSString stringWithCString:classes[i] encoding:NSUTF8StringEncoding]);
  // Do something with class

}
马丁·R

您将获得所有加载的类

int numClasses;
Class * classes = NULL;

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++) {
        Class c = classes[i];
        NSLog(@"%s", class_getName(c));
    }
    free(classes);
}

(来自objc_getClassList文档的代码。)

要限制列表,您可以检查从中加载了类,例如

Class c = classes[i];
NSBundle *b = [NSBundle bundleForClass:c];
if (b != [NSBundle mainBundle])
    ...

对于未从您的应用程序加载的所有类。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

获取所有本机类的列表

来自分类Dev

获取所有JVM使用的所有Java类的列表?

来自分类Dev

获取JVM上所有引导类的列表?

来自分类Dev

我如何获取某个类的所有可用注释的列表

来自分类Dev

如何从给定包中获取所有类的列表

来自分类Dev

如何获取引导类加载器加载的所有类的列表?

来自分类Dev

使用C#中的Selenium获取具有特定类的所有元素的属性值的列表

来自分类Dev

EmberJS:将所有者从组件注入本机类

来自分类Dev

PHP - 通过索引获取数组的所有值的本机函数

来自分类Dev

获取GAE Python中所有NDB模型名称(类名称)的列表

来自分类Dev

如何从cli中获取特定JDK附带的所有类的列表?

来自分类Dev

我如何从Mono中的c ++获取某个类中所有方法的列表?

来自分类Dev

R6类,获取所有字段作为命名列表

来自分类Dev

如何在python中以列表的形式获取类的所有属性

来自分类Dev

获取案例类中所有字段的类型及其方法的列表

来自分类Dev

如何从python类中的实例变量中获取所有值的列表

来自分类Dev

类的所有对象的静态列表

来自分类Dev

展开所有/折叠所有不工作类的列表

来自分类Dev

在python的类中获取所有常量

来自分类Dev

获取JavaScript中所有类的实例

来自分类Dev

从包中获取所有类

来自分类Dev

获取ADLDS类的所有可写属性

来自分类Dev

获取类的所有瞬态字段

来自分类Dev

无法获取DBpedia类的所有属性

来自分类Dev

获取sencha类的所有静态属性

来自分类Dev

SPARQL从类或个人获取所有属性

来自分类Dev

用jQuery获取所有选定的类

来自分类Dev

如何获取所有类的tcmalloc静态

来自分类Dev

在解析中获取所有相关的类

Related 相关文章

热门标签

归档