Макрос в Objective-C, вызывающий isEqualToString: выдает ошибку о недействительном токене

Я пытаюсь определить макрос как это:

#define SOME_DEF [[TTys getString] isEqualToString:ANOTHER_STRING]

и затем делать следующее:

#if SOME_DEF
...
#endif
[TTys getString] возвращает строку NSStringANOTHER_STRING определяется ранее как#define ANOTHER_STRING "hello"

Я получаю следующую ошибку на#if SOME_DEF линия:

Неверный токен при запуске выражения препроцессора

Основываясь на этомТАК вопрос это может быть вызвано чем-то, что не может быть решено во время компиляции, но у меня все определено. Мой подозреваемыйisEqualToString метод, но я не знаю другого способа сделать это.

Ответы на вопрос(1)

Ваш ответ на вопрос