Подтвердить что ты не робот

Как распечатать строку с NSLog на iOS

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

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

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

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

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

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

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

Спасибо!

4b9b3361

Ответ 1

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

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

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

NSLog(@"This is it: %@", @"This is my string text!";);

Ответ 2

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

Ответ 3

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

For Strings you use %@
For int  you use %i
For float you use %f
For double you use %lf