使用通常的条件编译,经常把属于程序主逻辑的代码和条件编译代码混在一起。容易引起意想不到的问题。使用Conditional特性把条件编译应用在法方法这一层上,要求我们将条件代码以方法为单位来表达,这样可以把一些函数隔离出来,调试结束后该函数就不会被编译,思路很清晰,削除了莫名其妙的bug。
当使用多个Conditional特性时,他们之间的关系是 OR 例如:[Conditional("DEBUG"),Conditional("HELLO")]
若要想使他们的关系为 AND ,我们需要自己在源代码中定义预处理符号:
#if (VAR1 && VAR2) #define
BOTH
#end if
需要注意的是:任何使用Conditional特性的方法只能返回void类型