我想知道#ifdef,#ifnf和#endif的用法以及哪种情况,必须使用这些条件以及它的用途是什么?什么是#ifdef和#ifndef之间的区别?
例如:
#define MY_Global
#ifdef MY_Global
// write some code (Inside the method)
#endif
,或者
#ifdef MY_Global
-(void) customMethod
{
// Do something
}
#endif
哪一个是正确的,是否应该只在内部方法中编写,或者它是否在方法外工作?我以前没用过这个。请解释一下吗?
谢谢!
答案 0 :(得分:2)
AFAIK,#ifdef =“如果已定义”,则#ifndef =“如果未定义”。这些条件很有用,例如,如果您只想为模拟器编译某个代码,那么您可以编写如下内容:
#if TARGET_IPHONE_SIMULATOR
#import "AccelerometerSimulation.h"
#endif
这意味着,当您为模拟器编译时,将导入AccelerometerSimulation.h。如果要在设备上进行编译,则会完全忽略它。希望有所帮助。