私たちは、この#defineはパフォーマンスを低下させますか?
#define POST_NOTIFICATION(NAME, OBJECT) [[NSNotificationCenter defaultCenter] postNotificationName:NAME object:OBJECT]
のような特定の機能を#defineした場合に減少性能上使用することを知っていただきたいと思いますか?
私たちは、この#defineはパフォーマンスを低下させますか?
#define POST_NOTIFICATION(NAME, OBJECT) [[NSNotificationCenter defaultCenter] postNotificationName:NAME object:OBJECT]
のような特定の機能を#defineした場合に減少性能上使用することを知っていただきたいと思いますか?
No. #defineはプリプロセッサディレクティブで、プリプロセッサがPOST_NOTIFICATIONシンボルを参照する場所はどこでも、[[NSNotificationCenter ...]]
コードに置き換えられます。
いいえ、パフォーマンスが低下することはありません。 #defineディレクティブはプリプロセッサディレクティブです。コンパイル前にコード内で "置き換えられ"、最終バイナリコードは同じです。 しかし、あなたは定義を使用するのを控えるべきです...コードをもっと読みやすくするかもしれませんが、実際にはそれをしません...例のような1行については、おそらくそれほど高くないこれを使って。
しかし、この構文を使用すると、最終的なバイナリは変わらないため、パフォーマンスが低下することはありません。