3
私はあなたの多くは、マクロiOSのdebugBlockマクロ
#ifdef DEBUG
#define DebugLog(s, ...) NSLog(@"<%p %@:(%d)> %@", self, [[NSString stringWithUTF8String:__FILE__] lastPathComponent], __LINE__, [NSString stringWithFormat:(s), ##__VA_ARGS__])
#else
#define DebugLog(s, ...)
#endif
を認識していると確信しているこれはもちろん、あなたがのNSLogの代わりに使用DEBUGLOGという関数を作成します。その後、プロジェクトをデバッグから外すと、NSLogsステートメントのすべての実行が停止します。
私が考えていたのは、これを動作させる方法がブロックであることです。私はこれを行うことができるようにしたい言い換えれば:
DebugBlock(^{
//Code to only be executed while in Debug
});
はい、私はちょうどどこでも#ifdefのDEBUGを行うことができますが、それは私のために十分な空想ではありません:)実現します。
Ay、caramba、私はcurmudgeonと呼んでいますが、「#ifdef」を使用しない理由として、「私にとって十分ではない」 –
ブロックはよりクリーンで読みやすくIMOがあります。 「ファンシー」にしようとするのではなく、人々がそれを答えとして使用しようとしないようにしました。それは実際には質問に答えないので。 – endy