15
接下来是最后一个问题:Log method name in Obj-C。我只是想知道是否有办法打印出变量名称。例如:打印出变量名称objective-C
NSString *name = "vodkhang";
NCLog(@"%@", name);
,我希望输出应该是:
name: vodkhang
只是为了总结以前的帖子,目前,我可以打印出的类名,方法名和行号时我叫
NCLog(@"Hello World");
<ApplicationDelegate:applicationDidFinishLaunching:10>Hello world
与
#define NCLog(s, ...) NSLog(@"<%@:%d> %@", __FUNCTION__, __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__])
一般原理是,当在'#define'的主体内部放置一个'#'时,预处理器用传递给宏的* exact *表达式的C字符串替换它。当你传递一个变量名时,你会得到这个名字。如果您传递一个表达式,它将完整地重现该表达式,而不是评估结果。 – 2010-05-13 04:56:43
@奎因:我明白了。感谢那 – vodkhang 2010-05-14 03:54:54