J'ai une constante de chaîne définie comme ceci:
#define kMyString @"This is my string text!";
Quelque part dans le code, je voudrais imprimer ce morceau de code avec NSLog comme ça:
NSLog(@"This is it: %@",kMyString);
Mais obtenez une erreur de build: Expected expression
.
J'ai déjà regardé l'Apple Format Specifiers mais je n'ai pas pu le comprendre.
Quelqu'un peut-il m'expliquer comment procéder?
Merci!
Vous devez supprimer ;
à partir de la définition de kMyString
:
#define kMyString @"This is my string text!"
La façon dont vous l'avez fait équivaut à:
NSLog(@"This is it: %@", @"This is my string text!";);
%@
est pour les objets. BOOL
n'est pas un objet.
Sur la base du type de données %@
change comme suit
For Strings you use %@
For int you use %i
For float you use %f
For double you use %lf
Retirez ce point-virgule après #define
et utilise %@
et cela fonctionnera.