如果我有一个类,如何列出它的所有实例变量名称?
eg:
@interface MyClass : NSObject {
int myInt;
NSString* myString;
NSMutableArray* myArray;
}
我想获取“myInt”、“myString”和“myArray”。有什么方法可以获取我可以迭代的名称数组吗?
我尝试搜索 Objective-C 文档,但找不到任何内容(而且我也不确定这叫什么)。
如前所述,您可以使用 Objective-C 运行时 API 来检索实例变量名称:
unsigned int varCount;
Ivar *vars = class_copyIvarList([MyClass class], &varCount);
for (int i = 0; i < varCount; i++) {
Ivar var = vars[i];
const char* name = ivar_getName(var);
const char* typeEncoding = ivar_getTypeEncoding(var);
// do what you wish with the name and type here
}
free(vars);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)