相关疑难解决方法(0)

用Swift语言替换#ifdef

在C/C++/Objective-C中,您可以使用编译器预处理器定义宏.此外,您可以使用编译器预处理器包含/排除代码的某些部分.

#ifdef DEBUG
    // Debug-only code
#endif
Run Code Online (Sandbox Code Playgroud)

Swift中有类似的解决方案吗?

xcode preprocessor preprocessor-directive swift

697
推荐指数
15
解决办法
23万
查看次数

我怎样才能以编程方式找到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,但更喜欢一些更简单的解决方案

macos ios swift xcode6

40
推荐指数
3
解决办法
1万
查看次数

如何在程序中打印出Swift的版本?

如果我使用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一样)

swift swift2

5
推荐指数
2
解决办法
1258
查看次数