【问题标题】:No autocomplete options in body of #else#else 正文中没有自动完成选项
【发布时间】:2012-10-15 18:52:14
【问题描述】:

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

#define CarsRandom

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

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

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

【问题讨论】:

  • 您知道您正在使用编译器指令吗?也许一个普通的 if 语句会更好?
  • 当然可以,我只需要放置一个标志,这样当我将那个指令注释掉时,我就会得到不同的结果。

标签: objective-c xcode autocomplete preprocessor-directive


【解决方案1】:

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

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

也许你可以把它写成普通的 if,否则在测试时重写,如果你想编译出用于生产的代码。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2010-10-29
    • 2012-10-28
    • 1970-01-01
    • 2022-08-10
    • 1970-01-01
    • 1970-01-01
    • 2012-06-07
    • 1970-01-01
    相关资源
    最近更新 更多