swift 的宏定义

原创 2015年07月07日 11:28:57

swift中没有了#Define这种宏定义了,可以用let来声明常量来取代,判断当前系统版本

let IS_IOS7 = (UIDevice.currentDevice().systemVersion as NSString).doubleValue >= 7.0 let IS_IOS8 = (UIDevice.currentDevice().systemVersion as NSString).doubleValue >= 8.0

 PS:这种用let替代#define只适用于一般的常量宏,如果是表达式或者其他复杂的宏,let也无能无力

对于复杂表达式的宏,可以用全局的func函数代替,比如上面的两个系统判断,可以修改成下面的func

func IS_IOS7() ->Bool { return (UIDevice.currentDevice().systemVersion as NSString).doubleValue >= 7.0 } func IS_IOS8() -> Bool { return (UIDevice.currentDevice().systemVersion as NSString).doubleValue >= 8.0 }

这样,就可以在三元表达式中使用了:

navBar = UIView(frame: CGRectMake(0, 0, 320, IS_IOS7() ? 64:44))

还有RGBA宏

RGBA(r, g, b, a) [UIColor colorWithRed:(r)/255.0 green:(g)/255.0 blue:(b)/255.0 alpha:(a)]

可以写成这样:

func RGBA (r:CGFloat, g:CGFloat, b:CGFloat, a:CGFloat) { return UIColor (red: r/255.0, green: g/255.0, blue: b/255.0, alpha: a) }
var theColor : UIColor = RGBA (255, 255, 0, 1)
版权声明:本文为博主原创文章,未经博主允许不得转载。

swift中常用宏定义

github学习地址:https://github.com/potato512/SYSwiftLearning // MARK: - 设备信息 /// 当前app信息 let Ge...
  • potato512
  • potato512
  • 2017年05月18日 11:28
  • 971

iOS开发(Swift)——宏定义

在OC开发中,如果你想定义一个所有文件都可以使用的变量,可以在PCH文件中定义一个宏定义:#define test @”test”,然后在需要使用的文件中导入PCH文件即可使用。在Swift中,没有P...
  • liumude123
  • liumude123
  • 2017年01月16日 10:59
  • 636

Swift3.0 中的仿oc中的宏定义文件

Swift中取消了#Define这种宏定义了,但可以用let来声明常量来取代 首先创建一个common.swift 文件来存放你所定义的宏定义内容//当前系统版本 let kVersion = (U...
  • timtian008
  • timtian008
  • 2016年12月21日 15:00
  • 2649

OC的全局引用和Swift的宏定义

一、OC添加pch全局引用文件 在Xcode6之前新建项目之后会自动创建这个文件。但是Xcode6以后的版本需要手动创建,创建过程如下。 1、 创建pch文件,新建一个文件,选择PCH File ...
  • delicious_d
  • delicious_d
  • 2016年06月29日 11:14
  • 3112

如何为Swift进行宏定义

本文转自:http://www.cnblogs.com/JianweiWang/p/5142306.html 这阵子一直在自学Swift, 因为之前iOS的开发一直用Objective-C, 所...
  • huangtianyouhehuangg
  • huangtianyouhehuangg
  • 2016年03月25日 20:43
  • 891

iPhone5、6、6+手机型号判断(宏定义)

由于在写代码时,有时候会通过判断手机型号来布局UI,所以我总结了一下,写了如下的宏定义,希望能对各位码友有所帮助://------------------手机型号判断-----------------...
  • wzc10101415
  • wzc10101415
  • 2016年04月22日 11:40
  • 1206

适配iPhoneX常用的宏定义及方法

过了好久,今天终于有时间总结一下适配iPhone X相关的坑,总的来说有两类坑,一个是导航栏+状态栏的高度发生了变化,一个是一些没有实现实现-tableView: viewForHeaderInSec...
  • ljc_563812704
  • ljc_563812704
  • 2018年01月17日 14:35
  • 185

Swift类似宏定义

//类似宏定义     let Collection_Cell = "CollectionCell"    //注册单元格self.Collection_Cell    collecti...
  • wenzfcsdn
  • wenzfcsdn
  • 2015年02月01日 17:54
  • 546

iOS swift - swift常用的宏

原文: http://blog.csdn.net/liulicsdn/article/details/44244567 http://blog.sina.com.cn/s/blog_71715...
  • lincsdnnet
  • lincsdnnet
  • 2016年10月06日 14:59
  • 1175

Swift 宏定义

swift中没有了#Define这种宏定义了,可以用两种途径来代替之前的Define处理的情况,分别是 可以用let来声明常量,来取代常量宏定义 可以用全局func来替代复杂表达式的宏定义< let常...
  • a1484
  • a1484
  • 2016年09月23日 09:57
  • 324
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:swift 的宏定义
举报原因:
原因补充:

(最多只允许输入30个字)