下面代码是预期效果
#define TEST YES
#ifndef TEST
#define TEST NO
#endif
....
// 打印结果 1
NSLog(@"TEST : %d",TEST);
下面是在pch中使用的结果
//xxx.pch
#define TEST YES
//yyy.h
#ifndef TEST
#define TEST NO
#endif
// // 打印结果 0
NSLog(@"TEST : %d",TEST);
请问这是什么情况?
#define TEST YES 是强行定义 TEST 为什么结果会是NO呢?
猜测你的xxx.pch没有在build setting中配置好路径,如果pch生效TEST是1。