NSLog – 如何打印对象名称?

考虑,

NSString *myString = @"Welcome"; NSLog(@"%@",myString); 

将在控制台中打印Welcome

我可以打印像“ myString: Welcome ”这样的string吗?

我的意思是,我可以获得对象名称(“ myString ”)与对象值(“ Welcome ”)?

使用下面的代码:

 #define stringVariable(x) NSLog( @"%s:%@",#x, x) NSString *myString=@"Welcome"; stringVariable(myString); 

注意:一般的原则是,当你在#define的主体内部放置一个#参数时,预处理器用一个传递给macros的精确expression式的Cstringreplace它。 当你传递一个variables名时,你会得到这个名字。

Interesting Posts