美文网首页
Swift开发之 ---- Swift宏定义

Swift开发之 ---- Swift宏定义

作者: 董朋远 | 来源:发表于2015-06-29 15:06 被阅读918次

http://blog.sina.com.cn/s/blog_71715bf80102vfl7.html

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&&OC

    宏定义 OC中的宏定义 swift中的宏定义 OC中宏定义的方式,在swift中是不可用的,在swift中,宏定义...

  • Swift开发之 ---- Swift宏定义

    http://blog.sina.com.cn/s/blog_71715bf80102vfl7.html swif...

  • Swift 宏定义与代码标记

    Swift中的”宏” 写Objective-C的时候常常会用到各种宏定义,但是Swift中貌似没有宏的这种定义,更...

  • Swift

    1.Swift构建自定义控件2.Swift开发集锦3.Swift构建自定义控件4.Cocoa的Swift开发专题5...

  • Swift-OC混编总结

    一、swift怎么用oc定义的宏?1、在swift中,能直接使用定义为常量的宏,不能使用带有方法调用的宏,也不能使...

  • Swift 定义全局常量以及适配X系列

    在Swift开发中,没有宏定义,那该怎么解决呢?其实这个问题非常好解决,推荐创建一个新swift文件,把所有全局...

  • swift宏定义与枚举

    swift中的枚举: swift中的宏定义: 注:public可加可不加 如果有参数:

  • OC&swift中的宏定义

    在使用OC和swift进行混编时,我们经常会需要在swift中使用OC中的宏定义,但是这些宏定义经常会提示无法找到...

  • Swift学习:构造器(上)

    Swift之构造器(上)Swift之构造器(中)Swift之构造器(下)Swift赋予自定义类型更加丰富的功能,一...

  • Swift学习笔记-1:小马哥微博项目

    ** 宏定义:**Swift中没有宏,使用其他的方法替代宏的功能,创建一个Swift文件:(使用起来和宏基本一样)...

网友评论

      本文标题:Swift开发之 ---- Swift宏定义

      本文链接:https://www.haomeiwen.com/subject/luieqttx.html