2011-08-25 154 views
1

我正在編寫一個代碼,將字符串賦給宏。在宏中,我正在寫@「準備拿到:\」%@ \「,找出答案。如何在宏中給出上述的東西,我需要調用該宏,我需要發送字符串值到那個在宏裏面的特定「%@」..如何給那個......如何將字符串轉換爲宏?

#define MSG_STR(x) 
#define DES_STR [NSString stringWithFormat:@"ready to get:\"%@\".Find out how here.", MSG_STR(x)] 
NSString *shareFinalText = MSG_STR(shareWord); 

我需要一個像「」「準備好了,最後一個字符串:shareFinalstring.Find如何在這裏

回答

2

不能完全確定我明白你想達到什麼,但你能不能只使用下列內容:

#define DES_STR(message) [NSString stringWithFormat:@"ready to get:\"%@\".Find out how here.", message]; 

NSString *shareFinalText = DES_STR(shareWord); 
+0

感謝您的解決方案,我的問題解決了 – George

0
#define MSG_STR(x) @"" #x 

將將任意x轉換爲NSString恆定的值,例如

NSLog(@"%@", MSG_STR(a + b)); 

會給類似於輸出

2011-08-25 11:00:10 +0100 otest[89432:707] a + b 

它的工作原理使用編譯器聚結語法相鄰的字符串常量的事實。