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)

最新文章

  1. 省级联动(使用ajax实现)
  2. ASP注入靶机
  3. MVC小例子
  4. Windows server 2012 各版本 激活方法
  5. OpenStack/devstack with Neutron on Ubuntu 14 (2)
  6. 石头剪刀布 R语言统计分析
  7. 学习js函数--自执行函数
  8. POJ2942 Knights of the Round Table 点双连通分量,逆图,奇圈
  9. Windows同时安装Python2、Python3兼容运行
  10. BBS论坛(二十三)
  11. input file实现多选和限制文件上传类型
  12. Flask 模板系统
  13. mysql 开发进阶篇系列 5 SQL 优化(表优化)
  14. shell脚本返回字符串
  15. 两个jsp文件运行后弹出对话框 下载文件问题
  16. 彻底理解ReentrantLock
  17. consul Consul vs. ZooKeeper, doozerd, etcd
  18. 『PyTorch』第一弹_静动态图构建if逻辑对比
  19. python 十进制 和 IP 地址互转
  20. Windows系统下如何在cmd命令窗口中切换Python2.7和Python3.6

热门文章

  1. vim的一些高级配置
  2. 编写Qt Designer自定义控件(一)——如何创建并使用Qt自定义控件
  3. 读书笔记-详解C程序开发中 .c和.h文件的区别
  4. c++静态成员与静态函数
  5. iOS应用审核的通关秘籍
  6. 使用T4模板为EF框架添加实体根据数据库自动生成字段注释的功能
  7. xCode如何导入自定义的snippets文件
  8. 获取键盘输入或者USB扫描枪数据
  9. redis研究之watch
  10. Jquery 动态生成表单 并将表单数据 批量通过Ajax插入到数据库