将OC中宏定义改为Swift版“宏定义”

其实,swift并不支持宏定义,实质上是一些全局常量和函数,所以我们可以通过这个途径实现类似于OC中的宏定义,以减少项目中代码的冗余。
直接上解决办法:
新建一个swift文件,类似与OC中的pch文件,然后将 “import Foundation” 改为 “import UIKit”,然后:
1)OC中宏定义不带参数:直接修改为用 let修饰 的常量
2)OC中宏定义带参数:可以改写成带参数的函数

OC中宏定义:

//**设备屏幕逻辑尺寸
#define kScreenWidth   [[UIScreen mainScreen]bounds].size.width
#define kScreenHeight  [[UIScreen mainScreen]bounds].size.height

//**判断字符窜为空宏定义
#define EMPTY_NIL_STR(str)    (!str||[str isEqualToString:@""])
swift中宏定义:

import UIKit

let kScreenWidth = UIScreen.main.bounds.width
let kScreenHeight = UIScreen.main.bounds.height

func EMPTY_NIL_STR(str: String) -> Bool {
    return str.isEmpty
}

你可能感兴趣的