(この質問はXcodeとは関係ありません。)
とはいえ、CスタイルのIFでコードを汚染する代わりに、プリプロセッサディレクティブを使用してデバッグモードとリリースモードを除外できます。私の知る限りDEBUG
、テストモードの場合はマクロを1に定義し、リリースモードの場合はマクロを定義しないのが一般的な方法です。(また、Xcodeがこれを定義する場合があります。この動作が信頼されているのを見てきました。)その理由は、プリプロセッサの使用がインデントに入らないため、より読みやすくなるためです。視覚的にコーディングします。要約すると、試してみてください
#ifdef DEBUG
// do debug stuff here
#else
// do release stuff here
#endif
プリプロセッサマクロの追加の引数の1つは、Cコード内では不可能だったグローバル名前空間を条件付けできることです。つまり、プリプロセッサマクロを使用すると、次のように記述できます。
#ifdef DEBUG
int functionOne()
{
}
#else
char *functionTwo(int a)
{
}
#endif
プリプロセッサなしではこれを行うことはできません。