swift的‘宏定义’

来源:互联网 发布:酒店网络设计方案 编辑:程序博客网 时间:2024/05/22 22:04

swift的‘宏定义’

随着iOS 10和swift 3的发行,我决定在我之后的一段时间再次研究一下swift,并留下一些笔记仅供参考,尚有不足,请多指正。

  1. swift取消了#define的宏定义。所以想要实现oc宏定义的效果,可以new file一个swift file ,import UIKit框架,这样就可以通过添加常量和方法来实现‘宏定义’。
  2. Swift的宏定义在本质上并不应该称之为宏定义, 只是为了方便大家的理解, 实质上是一些全局常量和函数, 希望大家不要混淆.

列举一些,知道怎么用了就行,然后其他文件就可以直接引用

import UIKitlet kScreen_Width = UIScreen.mainScreen().bounds.widthlet kScreen_Height = UIScreen.mainScreen().bounds.heightpublic func colorWithRGB(red red:CGFloat, green:CGFloat,blue:CGFloat) -> UIColor {    return UIColor(red: red/255, green: green/255, blue: blue/255, alpha: 1);}//16进制转grb值func colorWithHEX(hexValue: String) -> UIColor {    var str: NSString = hexValue.stringByTrimmingCharactersInSet(NSCharacterSet.whitespaceAndNewlineCharacterSet()).uppercaseString    if str.length < 6 {        return UIColor.whiteColor()    }    if str.hasPrefix("#") {        str = str.substringFromIndex(1)    }    if str.length != 6 {        return UIColor.whiteColor()    }    let strR = str.substringWithRange(NSMakeRange(0, 2))    let strG = str.substringWithRange(NSMakeRange(2, 2))    let strB = str.substringWithRange(NSMakeRange(4, 2))    var r: CUnsignedInt = 0    var g: CUnsignedInt = 0    var b: CUnsignedInt = 0    NSScanner(string: strR).scanHexInt(&r)    NSScanner(string: strG).scanHexInt(&g)    NSScanner(string: strB).scanHexInt(&b)    return UIColor(red: CGFloat(r)/255.0, green: CGFloat(g)/255.0, blue: CGFloat(b)/255.o, alpha: 1)}
0 0
原创粉丝点击