Frage

Ich möchte, dass wissen, ob wir #define eine bestimmte Funktion wie diese

#define POST_NOTIFICATION(NAME, OBJECT) [[NSNotificationCenter defaultCenter] postNotificationName:NAME object:OBJECT]

wird über die Performance negativ beeinflussen mit?

War es hilfreich?

Lösung

Nein. #define ist eine Richtlinie Präprozessor, dass überall Sinn der Präprozessor das POST_NOTIFICATION Symbol sieht, ist es mit dem [[NSNotificationCenter ...]] Code ersetzen wird.

Andere Tipps

Nein, es wird nicht die Leistung verringern. Die #define Richtlinien sind Präprozessordirektiven, die in Code „ersetzt“ vor dem Kompilieren werden, so dass die endgültige Binärcode gleich ist. Allerdings sollten Sie verwenden, definiert verzichten ... Es könnte scheinen, den Code besser lesbar zu machen, aber es nicht wirklich tun ... Auch für Ein-Zeilen wie im Beispiel geben Sie den Vorteil wahrscheinlich nicht so hoch zu verwenden es.

Jedoch Ihre Frage zu beantworten, die endgültige binär nicht anders ist, wenn Sie dieses Konstrukt zu verwenden, so dass es keine Leistungsabnahme.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top