我提出了以下解决方案,但想知道是否有人采用更清晰的方法(在Xcode-Playground中测试):
let colors = CGColorGetComponents( UIColor.greenColor().CGColor )
let hexCol:String = NSString(format: "#%02x%02x%02x", Int(colors[0] * 255.0), Int(colors[1] * 255.0), Int(colors[2] * 255.0))
Run Code Online (Sandbox Code Playgroud)
resulting in #00ff00
其中UIColor.greenColor()是任何UIColor的示例.
编辑:摘自莱昂纳多的答案,我觉得有点重构(他的所有测试仍然适用).
extension UIColor {
typealias RGBComponents = (red: CGFloat, green: CGFloat, blue: CGFloat, alpha: CGFloat)
typealias HSBComponents = (hue: CGFloat, saturation: CGFloat, brightness: CGFloat, alpha: CGFloat)
var rgbComponents:RGBComponents {
var c:RGBComponents = (0,0,0,0)
if getRed(&c.red, green: &c.green, blue: &c.blue, alpha: &c.alpha) {
return c
}
return (0,0,0,0)
}
var cssRGBA:String {
return String(format: "rgba(%d,%d,%d, %.02f)", …Run Code Online (Sandbox Code Playgroud) 我试图弄清楚如何在带有asar标志的电子封装应用程序中预测代码内的路径。
使用Windows(一个exe文件)和mac(一个.app软件包文件夹)-每个最终都包含一个asar文件,以包含节点脚本。
我想访问exe在Windows上的文件夹,以及当前程序包应用程序的父文件夹。
/Application/my app tools/tool.app -> path to 'my app tools'
C:\Program Files\my app tools\tool\ -> path to 'my app tools'
Run Code Online (Sandbox Code Playgroud)
使用__dirname和遍历无济于事,因为win和mac上存在不同数量的子文件夹。
任何帮助是极大的赞赏。