Swift 宏定义

swift中没有了#Define这种宏定义了,可以用两种途径来代替之前的Define处理的情况,分别是

  • 可以用let来声明常量,来取代常量宏定义
  • 可以用全局func来替代复杂表达式的宏定义

  1. < let常量定义>判断当前系统版本
let IS_IOS7 = (UIDevice.currentDevice().systemVersion as NSString).doubleValue >= 7.0 
let IS_IOS8 = (UIDevice.currentDevice().systemVersion as NSString).doubleValue >= 8.0

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

2.<复杂表达式宏定义>使用全局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
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值