是否可以使用runtime(objective-c)获取声明对象名称?

时间:2015-06-01 15:26:24

标签: objective-c objective-c-runtime

人 我只是想获得声明对象名称; 我的意思是:

NSString *myObjectString = @"some string";
//some code 
//and in the end I want to get something like that:
NSString *myOName = @"myobjectstring";

提前致谢;

2 个答案:

答案 0 :(得分:0)

您可以使用宏

#define NAME_STRING(string) @#string

并按以下方式使用:

NSString *myOName = NAME_STRING(myObjectString);

答案 1 :(得分:0)

此宏可用作全局变量或局部变量的定义,它不适用于属性或字段。

#define VAR_WITH_NAME(varType, varName) \
    varType varName; \
    static NSString * const varName ## _name = @#varName ;

……
VAR_WITH_NAME(NSString *, myVar);
myVar = @"tada";
NSLog(@"%@=%@", myVar_name, myVar);

IMO你的要求很奇怪。