在swift中是没有pch 和 宏的,我看到的资料中他们的处理是加了一个头文件来替换原来的红,在swift中在任何一个类中都是可以去访问其他的类的,坑就是这个原因就没有了pch这个东西了
我们在这个文件中添加自己需要或者累积的常用常量,比如主题颜色、rect、width、height、颜色rgb等等
比如:
import Foundation
import UIKit
// MARK:- 常量
let kThemeInt = 0x5c91e6
// MARK:- 颜色方法
/// 十六进制颜色
func kRGBColorFromHex(rgbValue: Int) -> (UIColor) {
return UIColor(red: ((CGFloat)((rgbValue & 0xFF0000) >> 16)) / 255.0,
green: ((CGFloat)((rgbValue & 0xFF00) >> 8)) / 255.0,
blue: ((CGFloat)(rgbValue & 0xFF)) / 255.0,
alpha: 1.0)
}
/// 有透明度
func kRGBAColor(_ 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)
}
/// 没有透明度
func KRGBColor (_ r:CGFloat,g:CGFloat,b:CGFloat)-> UIColor{
return UIColor (red: r/255.0,
green: g/255.0,
blue: b/255.0,
alpha: 1)
}
预览这个文件中有那些方法如图
这个常量是看不到我们的常量到底有什么,如果在后面我们积累多的时候,我们就得电渠看,我们在常量里面都添加了哪些,我在想,我要不要把我的width和height、react都写成方法,比如:
// MARK:- 屏幕大小、宽、高
func kScreenBounds() -> CGRect {
return UIScreen.main.bounds
}
func kScreenSize() -> CGSize {
return kScreenBounds().size
}
func kScreenWidth() -> CGFloat {
return kScreenSize().width
}
func kScreenHeight() -> CGFloat {
return kScreenSize().height
}
这样写是不是更好一点呢,至少从文档上来说,应该还是看起来比较舒服的吧,我暂时觉得这样写也蛮不错的,可以先试一试,毕竟我也是初步探索。如果你有更好的,希望提出你宝贵的意见!