こないだの勉強会でどうやら結論が出たっぽいよ.

「printfとかのデバッグ用の出力をリリースビルドではやっぱり消したいよね・・・・.マクロで.」という問題である.

@5mingame2が発表の中で指摘していたコードでいいっぽい.
すごく知的な感じで素敵.

#ifdef  _DEBUG
    #define DNSLog(...);    NSLog(__VA_ARGS__);
#else
    #define DNSLog(...);    0 && NSLog(__VA_ARGS__);
#endif

0 &&の代わりにコメントアウトでいいんじゃないの?って@5mingame2に聞いたら,「それなら,複数行に対応できないじゃない,この情弱が!」って怒られてないけど,マイルドにアドバイスをくれて納得.

追記
なんか,コメントアウトでも複数行でも動くっぽい.

#ifdef  _DEBUG
    #define DNSLog(...);    NSLog(__VA_ARGS__);
#else
    #define DNSLog(...);    // NSLog(__VA_ARGS__);
#endif