我有这样的定义字符串常量:如何打印出字符串常量的NSLog在iOS
#define kMyString @"This is my string text!";
某处在代码中,我想打印出这段代码与NSLog的那样:
NSLog(@"This is it: %@",kMyString);
但是得到一个构建错误:Expected expression
。
我已经看过苹果的Format Specifiers,但无法弄清楚。
有人可以请解释给我如何做到这一点?
谢谢!
我有这样的定义字符串常量:如何打印出字符串常量的NSLog在iOS
#define kMyString @"This is my string text!";
某处在代码中,我想打印出这段代码与NSLog的那样:
NSLog(@"This is it: %@",kMyString);
但是得到一个构建错误:Expected expression
。
我已经看过苹果的Format Specifiers,但无法弄清楚。
有人可以请解释给我如何做到这一点?
谢谢!
你应该从kMyString
定义中删除;
:
#define kMyString @"This is my string text!"
你所采取的方式是等价于:
NSLog(@"This is it: %@", @"This is my string text!";);
啊是确实:-)太明显... – TheEye 2012-03-08 12:01:47
我在问题出现打印错误。但问题依然存在。 OMG。 – 2012-03-08 12:07:05
OMG。其实我也有输入错误的代码。删除分号,现在它工作。谢谢! – 2012-03-08 12:09:29
#define
后删除分号,并使用%@
,它会工作。
但是,这将不再是一个常数,我想... – 2012-03-08 12:05:40
好,如果你想要一个字符串常量,你总是可以使用'extern NSString * const MyFirstConstant;' – 2012-03-08 12:08:07
引用此链接我认为这是你想要的.. http://stackoverflow.com/a/539191/919545 – 2012-03-08 12:09:15
%@
是针对对象。 BOOL
不是一个对象。
数据类型%@
变化的基础如下
For Strings you use %@
For int you use %i
For float you use %f
For double you use %lf
这个问题中没有提到BOOL。 – 2015-09-08 08:29:29
+1“这是它” – 2014-09-23 01:57:08