Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/objective-c/26.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Objective c 在#else的主体中没有自动完成选项_Objective C_Xcode_Autocomplete_Preprocessor Directive - Fatal编程技术网

Objective c 在#else的主体中没有自动完成选项

Objective c 在#else的主体中没有自动完成选项,objective-c,xcode,autocomplete,preprocessor-directive,Objective C,Xcode,Autocomplete,Preprocessor Directive,在我的课程顶部,我定义了一个标志: #define CarsRandom 随后在我的一个方法中,我声明了一个静态int和一个float。然后,我想检查是否定义了CarsRandom,并采取相应的行动: #ifdef CarsRandom //Everything is accesible in this part #else //Even NSLog is not accessible #endif 问题是在#else部分中,在方法开头声明的变量无法通过自动完成访问。虽然我可以成功地

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

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

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

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

IDE,可能是XCode,正试图变得聪明而失败

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


也许您可以将其作为一个普通的if编写,否则在测试和稍后重写时,如果您希望将代码编译出来用于生产的话。

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