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
当然,这将创建一个名为DEBUGLOG功能,你在地方的NSLog的使用。然后,当您将项目从调试中更改时,它将停止执行所有NSLogs语句。
我在想什么是有办法让这个工作,但块。换句话说,我希望能够做到这一点:
DebugBlock(^{
//Code to only be executed while in Debug
});
是的,我知道我可以做的#ifdef DEBUG无处不在,但是这不是看中足以让我:)。
Ay,caramba,叫我乖乖,但是“对我来说不够花哨”作为不使用'#ifdef'的原因? – 2012-01-09 05:45:10
块更干净,具有更好的可读性IMO。这并不是想要成为'幻想',我只是补充说,所以人们不会试图用它作为答案。因为这实际上并没有回答这个问题。 – endy 2012-01-09 17:09:44