1:Swift中没有了#Define这种宏定义了,我们可以通过以下几种方式进行类似于宏定义的方式进行使用
2:Swift的宏定义在本质上并不应该称之为宏定义, 只是为了方便大家的理解, 实质上是一些全局常量和函数, 希望大家不要混淆
1:使用let声明常量来替代一些简单的宏定义
这种用let替代#define只适用于一般的常量宏,如果是表达式或者其他复杂的宏,使用下面的方式
let width = UIScreen.mainScreen().bounds.size.width
let height = UIScreen.mainScreen().bounds.size.height
2: 对于一些复杂的宏定义,我们可以通过函数返回值的方式进行解决
func RGBColor(r:Int, g:Int, b:Int) -> UIColor{
let red = CGFloat(r) / 255
let green = CGFloat(g) / 255
let blue = CGFloat(b) / 255
return UIColor.init(red: red, green: green, blue: blue, alpha: 1)
}
这样我们在整个工程中都能使用,当然大家最好定义个OC或Swift文件专门承载宏定义
(1)OC中在使用前必须导入.h文件
![OC.png](https://img.haomeiwen.com/i2670926/f3d7b8de97bbc66e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240)
(2)生成的会是一个.swift空文件, 默认应该会是Foundation框架, 自己修改为UIKit即可
Swift宏定义文件.png Swift.png例如:
self.view.backgroundColor = RGBColor(221, g: 193, b: 153)
最后
具体的用法还需要大家在工作中,自己封装,自己发现。
大家有什么好的方法,可以相互交流下,谢谢
网友评论