Я определил макрос MYMACRO. Примечание: значение не является допустимой строкой NSS.
#define MYMACRO is
Макрос используется внутри объявления строки NSString
@"This MYMACRO fun"
Однако препроцессор не раскрывает макрос. Предварительно обработанный результат
@"This MYMACRO fun"
Лучшее решение, которое я нашел для расширения макроса:
#define MYMACRO @"is"
@"This "MYMACRO@" fun"
Макрос раскрывается, как показано ниже, что является допустимым синтаксисом Objective C:
@"This "@"is"@" fun"
Однако для этого требуется 2 сцепления во время выполнения.
Итак, мой вопрос как вставить макрос в строку NSString без использования конкатенации строк во время выполнения?
В идеале я хотел бы, чтобы среда выполнения выполнялась @"This is fun"
, а не @"This "@"is"@" fun"