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)
版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

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

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

如何为Swift进行宏定义

本文转自:http://www.cnblogs.com/JianweiWang/p/5142306.html 这阵子一直在自学Swift, 因为之前iOS的开发一直用Objective-C, 所...

创建系统变量配置的宏定义方法

  • 2015年01月12日 14:44
  • 316B
  • 下载

嵌入式c宏定义

  • 2015年12月08日 11:00
  • 133KB
  • 下载

C/C++中的max/min函数宏定义问题

不要轻易修改自带的头文件,写代码一定要规范!
  • zjn21hx
  • zjn21hx
  • 2015年11月12日 22:59
  • 10182

sourceInsight 快捷方式宏定义

  • 2015年03月13日 16:56
  • 139KB
  • 下载

iOS常用宏定义framework

  • 2014年02月20日 17:09
  • 9KB
  • 下载

Unity预处理与宏定义

大家好!我是小唐,今天给大家分享一下unity预处理与宏定义。 如果在编辑模式下执行,打印结果如图: 也可以自己定义宏定义。 加入自定义的宏定义之后记住在PlayerSetting中的Sc...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:swift 的宏定义
举报原因:
原因补充:

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