如何将变量名转换为字符串?
例:
由此:
NSString *someVariable
int otherVariable
我想获得一个NSString的实际名称,无论它是什么类型。
因此,对于上述两个变量,我想获取它们的名称(someVariable,otherVariable)。
最佳答案
我设法用以下代码片段解决了我的问题:
导入objc运行时#import <objc/runtime.h>
您可以使用以下方法枚举属性:
- (NSArray *)allProperties
{
unsigned count;
objc_property_t *properties = class_copyPropertyList([self class], &count);
NSMutableArray *rv = [NSMutableArray array];
unsigned i;
for (i = 0; i < count; i++)
{
objc_property_t property = properties[i];
NSString *name = [NSString stringWithUTF8String:property_getName(property)];
[rv addObject:name];
}
free(properties);
return rv;
}
希望它能帮助某人。
关于objective-c - 将变量名转换为字符串,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12784641/