NSLogをReleaseビルドでどうやって消すか。
こないだの勉強会でどうやら結論が出たっぽいよ.
「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