3

在我班的顶部,我定义了一个标志:

#define CarsRandom

然后稍后在我的一个方法中,我声明了一个 staticint和一个float. 然后我想检查是否CarsRandom已定义并采取相应措施:

#ifdef CarsRandom
  //Everything is accesible in this part
#else
  //Even NSLog is not accessible
#endif

问题在于,在该#else部分中,在方法开头声明的变量无法通过自动完成访问。虽然我可以成功构建项目,但我想知道为什么甚至NSLog()没有出现在自动完成列表中。

4

1 回答 1

3

IDE,大概是 XCode,正试图变得聪明而失败。

它注意到 else 中的那段代码不会被编译,因此尝试完全忽略它,甚至忽略自动完成。

也许你可以把它写成一个普通的 if,否则在测试和重写时,如果你希望该代码被编译出来用于生产。

于 2012-10-15T18:58:30.003 回答