有条件地排除 Swift 中的代码
Conditional exclusion of code in Swift
我正在尝试为特定目标排除 Swift 文件的某些部分。然而,我没有找到 #ifndef objective-c 指令的任何替代品,而且如果我使用这种形式:
#if taxi_coops
func pippo(){
println("pippo");
}
#else
func triggerActiveLocationUpdate(entering:Bool){}
#endif
预处理器完全忽略指令并尝试编译 triggerActiveLocationUpdate。请注意 #if taxi_coops 指令在同一文件的其他部分得到遵守。
有什么方法可以简单地排除 Swift 中的某些代码片段 and/or 为什么我的修复不起作用?
问题是关于以
形式复制 Other Swift Flags 文件中的配置
-D option
显然 Swift 忽略了预处理器字段中的标志。现在它接受 ||、&& 和 !语法没有任何问题:
#if option || !option2
......
#elseif option3
......
#endif
在Swift中,用#if !
代替#ifndef
,例如:
#if !os(OSX)
// compiled when not on OS X
#endif
我正在尝试为特定目标排除 Swift 文件的某些部分。然而,我没有找到 #ifndef objective-c 指令的任何替代品,而且如果我使用这种形式:
#if taxi_coops
func pippo(){
println("pippo");
}
#else
func triggerActiveLocationUpdate(entering:Bool){}
#endif
预处理器完全忽略指令并尝试编译 triggerActiveLocationUpdate。请注意 #if taxi_coops 指令在同一文件的其他部分得到遵守。
有什么方法可以简单地排除 Swift 中的某些代码片段 and/or 为什么我的修复不起作用?
问题是关于以
形式复制 Other Swift Flags 文件中的配置-D option
显然 Swift 忽略了预处理器字段中的标志。现在它接受 ||、&& 和 !语法没有任何问题:
#if option || !option2
......
#elseif option3
......
#endif
在Swift中,用#if !
代替#ifndef
,例如:
#if !os(OSX)
// compiled when not on OS X
#endif