预处理指令
Swift编译器不包含预处理器。取而代之的是,它充分利用了编译时属性,生成配置和语言特性来完成相同的功能。因此,Swift没有引进预处理指令。Swift,您可以使用全局常量来代替。由于简单的用于定义常量的宏会被直接被映射成Swift全局量,Swift编译器会自动引进在C或Objective-C源文件中定义的简单宏。
复杂宏
复杂宏是那些不用来定义常量的宏,包含带括号的函数式宏。在Swift中你可以使用函数和泛型来替代复杂宏。注意,在C和Objective-C源文件中定义的复杂宏在Swift是不能使用的。
复杂的宏由于必须保证宏的代码的语句的合法性(C语言就不用担心, 合法不合法都会被替换), 所以使用函数进行实现,
编译配置
Swift代码和C、Objective-C代码被有条件地,以不同方式编辑。SWIFT代码可以根据生成配置的评价可以有条件地编译。生成配置包括true和false字面值、命令行标志以及下表中的平台测试函数。可以使用-D <#Flag#>指定命令行标志。
Swift中使用宏
建立一个类,将过去需要建立的那些简单的宏,设为全局变量