解决办法:
写OC的时候常常会用到各种宏定义,但是Swift中貌似没有宏的这种定义,更多的是通过全局常量或者全局函数来实现这一效果.我们只需要建立一个文件(假设为Macro.swift),把想用的定义在里面,无须导入头文件什么的,就可以在全局用啦.
import UIKitimport Foundation/*** 替代oc中的#define,列举一些常用宏*/// 屏幕的物理宽度let kScreenWidth = UIScreen.mainScreen().bounds.size.width// 屏幕的物理高度let kScreenHeight = UIScreen.mainScreen().bounds.size.height/*** 除了一些简单的属性直接用常量表达,更推荐用全局函数来定义替代宏*/// 判断系统版本func kIS_IOS7() ->Bool { return (UIDevice.currentDevice().systemVersion as NSString).doubleValue >= 7.0 }func kIS_IOS8() -> Bool { return (UIDevice.currentDevice().systemVersion as NSString).doubleValue >= 8.0 }// RGBA的颜色设置func kRGBA (r:CGFloat, g:CGFloat, b:CGFloat, a:CGFloat) -> UIColor { return UIColor(red: r/255.0, green: g/255.0, blue: b/255.0, alpha: a)}// App沙盒路径func kAppPath() -> String! { return NSHomeDirectory()}// Documents路径func kBundleDocumentPath() -> String! { return NSSearchPathForDirectoriesInDomains(.DocumentDirectory, .UserDomainMask, true).first as! String}// Caches路径func KCachesPath() -> String! { return NSSearchPathForDirectoriesInDomains(.CachesDirectory, .UserDomainMask, true).first as! String}