Я определил макрос MYMACRO. Примечание: значение не является допустимым NSString.
#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"