Используйте переменную печати NSLog, зачем добавлять ноль? - PullRequest
1 голос
/ 22 декабря 2011
NSString* name = @"abc";

NSLog(name,nil);

кто может мне сказать, зачем добавлять ноль?большое спасибо.

Ответы [ 3 ]

2 голосов
/ 22 декабря 2011

Подпись NSLog равна void NSLog (NSString *format, ...);.

Таким образом, первый аргумент - это скорее формат, а не буквальная строка.Второй (и все последующие) аргументы являются значениями подстановки для строки формата.

Не следует заменять строку формата строкой, которую вы хотите записать в журнал.Если ваша строка содержит спецификаторы формата, такие как %d NSLog, попытается заменить их, но не удастся сделать это, поскольку вы не ввели подстановку.

Вы должны всегда регистрироваться с NSLog(@"%@", string), когда хотитеlog string.

1 голос
/ 22 декабря 2011

Правильный способ печати NSString с использованием NSLog - NSLog(@"%@", name);.

0 голосов
/ 22 декабря 2011

Это вовсе не обязательно, но NSLog ожидает постоянную строку NSString:

NSLog(@"%@", name);

, хотя, пока нет специальных флагов, таких как %p, %d, %s,%@ и т. Д.

NSLog(myString);

также будет работать.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...