NSLog - 如何打印对象名称?

NSLog - How to print object name?

考虑一下,

NSString *myString = @"Welcome";

NSLog(@"%@",myString);

将在控制台中打印 Welcome

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

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

使用以下代码:

#define stringVariable(x) NSLog( @"%s:%@",#x, x) 

NSString *myString=@"Welcome";

stringVariable(myString); 

注意:一般原则是,当你在#define 的主体内的参数前面放置#时,预处理器将其替换为 C 字符串传递给宏的精确表达式。当您传递变量名称时,您将获得该名称。