2011-04-25 173 views
2

我想将代码中的DEBUG值设置为1或0。在具体的事件回答后,而不是从其他C标志 ?Xcode中的预处理器

#if DEBUG==1 
#define DBLog(format, ...) NSLog(@"%s:%@", __PRETTY_FUNCTION__,[NSString stringWithFormat:format, ## __VA_ARGS__]); 
#define MARK DBLog(@"%s", __PRETTY_FUNCTION__); 

#else 
#define DBLog(format, ...) 
#define MARK 

#endif 

回答

1

在编译代码之前,预处理器指令在阶段中使用,所以在执行期间不能选择其中一个分支。你必须使用一个静态变量或类似的东西。

if (mystaticvariable) { DBLog...