美文网首页Swift开发iOS开发
将OC中宏定义改为Swift版“宏定义”

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

作者: 那么你就是我的 | 来源:发表于2017-09-19 15:21 被阅读35次

其实,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
}

相关文章

  • swift&&OC

    宏定义 OC中的宏定义 swift中的宏定义 OC中宏定义的方式,在swift中是不可用的,在swift中,宏定义...

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

    其实,swift并不支持宏定义,实质上是一些全局常量和函数,所以我们可以通过这个途径实现类似于OC中的宏定义,以减...

  • OC&swift中的宏定义

    在使用OC和swift进行混编时,我们经常会需要在swift中使用OC中的宏定义,但是这些宏定义经常会提示无法找到...

  • Swift-OC混编总结

    一、swift怎么用oc定义的宏?1、在swift中,能直接使用定义为常量的宏,不能使用带有方法调用的宏,也不能使...

  • 在swift中使用宏定义

    在OC中我们习惯将一些常用变量或者方法使用宏定义全局访问,然而swift因为命名空间的缘故,不需要像OC那样进行宏...

  • Swift 宏定义与代码标记

    Swift中的”宏” 写Objective-C的时候常常会用到各种宏定义,但是Swift中貌似没有宏的这种定义,更...

  • OC项目逐渐向swift转移--踩坑淌雷- 替换宏定义 -1

    在OC中常用的宏定义 往往用于动态计算 如下: 在swift中尝试同样的功能

  • 宏定义 define

    // 宏定义 define // Swift 中宏定义被去除了,取代的是 let 或者 get 属性 // 例如 ...

  • swift-全局常量

    1.swift中的全局常量类似于OC语言中的宏定义,有效的防治编译时代宏替换的安全隐患,swift中使用全局常量和...

  • OC中的宏定义在Swift中的实现

    1.创建一个swift文件 2.使用let定义简单的计算宏或者字符串等全局变量 3.使用函数来定义复杂的OC宏定义

网友评论

    本文标题:将OC中宏定义改为Swift版“宏定义”

    本文链接:https://www.haomeiwen.com/subject/gswwsxtx.html