2011-08-25 83 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 

它的工作原理使用编译器聚结语法相邻的字符串常量的事实。