1
在我的MotionManager包装类中,我有这个代码片断,它重复它的每个函数。这个代码可以让应用程序在模拟器上运行,而不需要设备中的其他陀螺仪。代码段我使用看起来像这样:与return语句的宏替代
#if !TARGET_IPHONE_SIMULATOR && TARGET_OS_IPHONE
return // Do nothing if in simulator
#endif
我想与代码清楚列明它做什么,而不是这么难看一行来替换此代码。如果我是用C写这篇++我会简单地使用宏,会是这个样子:
#define skipIfSimulator #if !TARGET_IPHONE_SIMULATOR && TARGET_OS_IPHONE/
return/
#endif
所以不是这样的:
func foo() {
#if !TARGET_IPHONE_SIMULATOR && TARGET_OS_IPHONE
return // Do nothing if in simulator
#endif
...
}
会有这样的:
func foo() {
skipIfSimulator
...
}
在不增加开销的情况下实现这一目标的最佳方法是什么?