在C/C++/Objective-C中,您可以使用编译器预处理器定义宏.此外,您可以使用编译器预处理器包含/排除代码的某些部分.
#ifdef DEBUG
// Debug-only code
#endif
Run Code Online (Sandbox Code Playgroud)
Swift中有类似的解决方案吗?
我知道我可以找到我正在运行的Swift版本,现在恢复到终端并键入:
xcrun swift --version
Swift version 1.1 (swift-600.0.57.4)
Target: x86_64-apple-darwin13.4.0
Run Code Online (Sandbox Code Playgroud)
另外,我一直在阅读关于Swift中的预处理器宏,但没有运气找到Swift版本常量.
随着Swift 1.2的临近,标记仅在Swift 1.1(Xcode高达6.2)上运行的旧代码或需要Xcode 6.3的新代码(Swift 1.2)将会很不错
注意:我也可以使用system()来执行以下操作:
system("xcrun swift --version | grep version > somefile.txt")
Run Code Online (Sandbox Code Playgroud)
然后打开somefile.txt,但更喜欢一些更简单的解决方案
如果我使用Mavericks,则仅限于XCode 6.2,以及以下代码:
let setOfNumbers: Set<Int> = [1, 2, 3, 4, 5];
Run Code Online (Sandbox Code Playgroud)
将无法正常工作。因此Set,仅应在Swift 1.2及更高版本中使用。如何打印出程序中正在使用的Swift版本?(就像p RUBY_VERSION使用Ruby一样)