打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
Swift开发之

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

let IS_IOS7 = (UIDevice.currentDevice().systemVersion as NSString).doubleValue >= 7.0let 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)

  

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
iOS获取设备型号和App版本号等信息
教你如何获取ios系统信息
IOS适配屏幕
获取手机信息(UIDevice、NSBundle、NSLocale)
ios获取设备信息总结
如何让IOS应用从容地崩溃
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服