Ich weiß, dass diese Frage mehrmals gestellt wurde, aber meine ist etwas anders. Bevor Sie dieses als Duplikat schließen, lesen Sie es bitte vollständig. Es gibt viele Posts auf Stack-Überlauf, die sagen: "Ich persönlich hasse MACROS, benutze diesen Scheiß nicht". Ich habe all diese gelesen und mein Fall ist anders. Ich versuche, URLs zu definieren, die in einer Software (iOS-App) mit #define-Makros verwendet werden.
Ich stimme zu, dass die Verwendung von const-Strings eine bessere Vorgehensweise ist als #define-Makros. Aber in einer zunehmend REST-basierten API-Welt, die Abfrageparameter als Teil von URL akzeptiert, wie können Sie const-Zeichenfolgen immer noch verwenden, um eine URL darzustellen, die sich ändert?
Anstelle von Ссылка Ein API-Server, der den REST-Prinzipien folgen würde Ссылка
Im vorherigen Typ ist die URL für alle Einträge Ссылка und ändert sich nicht. Eine Const-Zeichenfolge war möglich.
Bei letzterem Typ ändert sich die URL mit jedem Eintrag und ich verwende ein Makro, das auf eine vollständige URL wie diese erweitert wird.
%Vor%Gibt es Konstruktionsfehler in meiner Methode? Möchte Ihre Eingaben wissen.
Danke.
Aus der Perspektive des Compilers betrachtet, ist #define eine Präprozessor-Direktive (siehe die Definition in c, Ссылка ) ).
In diesem Fall kann der Compiler den gesamten Text ersetzen, bevor er die Codes kompiliert.
z. B. wenn Sie definieren:
%Vor%Es könnte jedes Vorkommen von GET_ENTRY_URL (x) durch [NSString ..., x] in Ihren Codes ersetzen. Potenziell können Instanzen überall dort erstellt werden, wo wir das Makro verwenden, wenn die Implementierung von objective-c diesem folgt.
static const / variable scheint ein besserer Weg zu sein.
Tags und Links ios rest coding-style naming-conventions