编译配置
Swift 代码和 Objective-C 代码以不同的方式进行条件编译。Swift 代码可以根据生成配置的评价配进行有条件的编译。生成配置包括 true 和 false 字面值,命令行标志,和下表中的平台测试函数。您可以使用-D <#Flag#>指定命令行标志。
| 函数 | 有效参数 |
|---|---|
| os() | OSX, iOS |
| arch() | x86_64, arm, arm64, i386 |
注意:arch(arm) 的生成配置不会为64位 arm 设备返回true,当代码运行在为32位的 ios 模拟器器时,arch(i386) 的生成配置返回true。
一个简单的条件编译需要以下代码格式:
复制代码
#if build configuration
statements
#else
statements
#endif
一个由零个或多个有效的 Swift 语句声明的statements,可以包括表达式,语句和控制流语句。您可以添加额外的构建配置要求,条件编译说明用 && 和 | | 操作符以及 ! 操作符,添加条件控制块用 #elseif:
复制代码#if build configuration && !build configuration
statements
#elseif build configuration
statements
#else
statements
#endif
与 C 语言编译器的条件编译相反,Swift 条件编译语句必须完全是自包含和语法有效的代码块。这是因为 Swift 代码即使没有被编译,也要全部进行语法检查。








