Я уверен, что многие из вас знают о макросе
#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 везде, но мне этого не хватает :)).