Как распечатать строковую константу с NSLog на iOS - PullRequest
22 голосов
/ 08 марта 2012

У меня есть строковая константа, определенная следующим образом:

#define kMyString @"This is my string text!";

Где-то в коде я хотел бы распечатать этот фрагмент кода с NSLog следующим образом:

NSLog(@"This is it: %@",kMyString);

Но получаю ошибку сборки: Expected expression.

Я уже посмотрел на Apple, спецификаторы формата , но не смог разобраться.

Может кто-нибудь объяснить, пожалуйста,мне как это сделать?

Спасибо!

Ответы [ 3 ]

39 голосов
/ 08 марта 2012

Вы должны удалить ; из определения kMyString:

#define kMyString @"This is my string text!"

То, как вы это сделали, эквивалентно:

NSLog(@"This is it: %@", @"This is my string text!";);
4 голосов
/ 24 июня 2014

%@ для объектов. BOOL не является объектом.
На основании типа данных %@ изменяется следующим образом

For Strings you use %@
For int  you use %i
For float you use %f
For double you use %lf
2 голосов
/ 08 марта 2012

Удалите эту точку с запятой после #define и используйте %@, и она будет работать.

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