Как передать строку в макрос? - PullRequest
1 голос
/ 25 августа 2011

Я пишу код для передачи строки в макрос. В макросе я пишу @ "готов получить с помощью: \"% @ \ ". Узнать."Как передать вышеуказанную вещь в макрос, и мне нужно вызвать этот макрос, и мне нужно отправить строковое значение в тот перкулярный "% @", который есть в макросе ... как дать это .....

#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. Узнайте, как здесь.

Ответы [ 2 ]

2 голосов
/ 25 августа 2011

Не совсем уверен, что я понимаю, чего вы хотите достичь, но не могли бы вы просто использовать следующее:

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

NSString *shareFinalText = DES_STR(shareWord);
0 голосов
/ 25 августа 2011
#define MSG_STR(x) @"" #x

превратит любой х в NSString константу, например

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

выдаст вывод, аналогичный

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

Работает, используя тот факт, что компилятор объединяет синтаксически смежные строковые константы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...