swift用全局常量代替宏
来源:互联网 发布:手机看期货软件 编辑:程序博客网 时间:2024/05/18 21:44
预处理指令
Swift编译器不包含预处理器。取而代之的是,它充分利用了编译时属性,生成配置和语言特性来完成相同的功能。因此,Swift没有引进预处理指令。
简单宏
在C和Objective-C,您通常使用的#define指令定义的一个基本常数,在Swift,您可以使用全局常量来代替。例如:一个全局定义#define FADE_ANIMATION_DURATION 0.35,在Swift可以使用let FADE_ANIMATION_DURATION = 0.35来更好的表述。由于简单的用于定义常量的宏会被直接被映射成Swift全局量,Swift编译器会自动引进在C或Objective-C源文件中定义的简单宏。
复杂宏
在C和Objective-C中使用的复杂宏在Swift中并没有副本。复杂宏是那些不用来定义常量的宏,包含带括号的函数式宏。您在C和Objective-C使用复杂的宏以避免类型检查的限制,或避免重新键入大量的样板代码。然而,宏也会产生Bug和重构的困难。在Swift中你可以使用函数和泛型来达到同样的效果,无需任何的妥协。因此,在C和Objective-C源文件中定义的复杂宏在Swift是不能使用的。
编译配置
Swift代码和C、Objective-C代码被有条件地,以不同方式编辑。SWIFT代码可以根据生成配置的评价可以有条件地编译。生成配置包括true和false字面值、命令行标志以及下表中的平台测试函数。您可以使用-D <#Flag#>指定命令行标志。
0 0
- swift用全局常量代替宏
- swift用全局常量代替宏
- swift用全局常量代替宏
- Swift常用全局常量、函数
- 用enum代替int常量
- 用enum代替int常量。
- Swift 静态属性 及其用法(全局常量)
- 全局常量
- 全局常量
- (30):用enum代替int常量
- Swift 用一个变量代替 if 条件式
- Swift 常量
- 字符串常量。全局常量池
- 【java performance】对于常量字符串,用'String' 代替'StringBuffer'
- IOS 全局常量
- 实现全局常量/变量
- iOS 全局常量const
- 用宏代替switch
- 生成短网址
- SVN 更新 报错 containing working copy admin area is missing
- Java垃圾回收机制
- java 内存溢出
- SSM框架——详细整合教程(Spring+SpringMVC+MyBatis)
- swift用全局常量代替宏
- position属性absolute与relative 详解
- datepicker不同风格解决的问题
- java.net.URLEncoder
- onSaveInstanceState和onRestoreInstanceState触发的时机
- 一种新的Heap区溢出技术分析
- 【Nginx】使用nginx搭建https服务器
- ASP.NET MVC 4 (十三) 基于表单的身份验证
- 笔记