Macro beim Aufruf von Objective-C isEqualToString: Erzeugt einen Fehler über ungültiges Token
Ich versuche ein Makro wie dieses zu definieren:
#define SOME_DEF [[TTys getString] isEqualToString:ANOTHER_STRING]
und dann wie folgt vorgehen:
#if SOME_DEF
...
#endif
[TTys getString]
gibt einen NSString zurückANOTHER_STRING
ist früher definiert als#define ANOTHER_STRING "hello"
Ich erhalte den folgenden Fehler auf dem#if SOME_DEF
Linie
Ungültiges Token am Anfang eines Präprozessorausdrucks
Basierend aufSO frage Dies kann durch etwas verursacht werden, das zur Kompilierungszeit nicht behoben werden kann, aber ich habe alles definiert. Mein Verdächtiger ist dasisEqualToString
-Methode, aber ich kenne keinen anderen Weg, um dies zu tun.