我有這樣的定義字符串常量:如何打印出字符串常量的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