NSLog - Как напечатать имя объекта?
Рассматривать,
NSString *myString = @"Welcome";
NSLog(@"%@",myString);
распечатает Welcome
в консоли.
Можно ли напечатать строку какmyString: Welcome
"?
Я имею в виду, могу ли я получить имя объекта ("myString
") вместе со значением объекта ("Welcome
")?
1 ответ
Решение
Используйте следующий код:
#define stringVariable(x) NSLog( @"%s:%@",#x, x)
NSString *myString=@"Welcome";
stringVariable(myString);
Примечание. Общий принцип заключается в том, что, когда вы помещаете # перед аргументом в теле #define, препроцессор заменяет его строкой C точного выражения, переданного макросу. Когда вы передаете имя переменной, вы получите это имя.