Я не знаю, что такое объект makeNSColor
. Но если это var makeNSColor = {red : 10/255, green : 10/255, blue : 255/255, a : 1};
, вот хороший пример того, как создать UIColor из словаря makeNSColor
:
func f () {
let context = JSContext()!
let script = """
var makeNSColor = {red : 10/255, green : 10/255, blue : 255/255, a : 1};
"""
let cc = context.evaluateScript(script).context // result is
let val = cc?.objectForKeyedSubscript("makeNSColor")
guard let dict = val?.toDictionary() as? [String : CGFloat] else {return}
let color = UIColor(displayP3Red: dict["red"] ?? 0, green: dict["green"] ?? 0, blue: dict["blue"] ?? 0, alpha: dict["a"] ?? 0)
print(color)
}
Если вы хотите создать makeNSColor
как Dictionary
в JS, используйте следующую функцию:
func addColor (r : Float, g : Float, b : Float) {
let context = JSContext()!
let script = """
var makeNSColor = {red : \(r)/255, green : \(g)/255, blue : \(b)/255, a : 1};
"""
let cc = context.evaluateScript(script).context // result is
// next code only needed to check the `makeNSColor`
let val = cc?.objectForKeyedSubscript("makeNSColor")
guard let dict = val?.toDictionary() as? [String : CGFloat] else {return}
let color = UIColor(displayP3Red: dict["red"] ?? 0, green: dict["green"] ?? 0, blue: dict["blue"] ?? 0, alpha: dict["a"] ?? 0)
print(color)
}