NSColor.init?(cgColor: aCGColor) 模糊引用

NSColor.init?(cgColor: aCGColor) ambiguous reference

我想从现有的 CGColor 中获取一个 NSColor,函数为
NSColor.init?(cgColor: aCGColor) 根据文档

var linienfarbe = CGColor.init(red:0.0,green: 0.0, blue: 1.0,alpha:1.0)
let textfarbe:NSColor = NSColor.init?(cgColor:linienfarbe)

我收到错误:

Ambiguous reference to member 'init(colorLiteralRed:green:blue:alpha:)

出了什么问题?

去掉初始化后的可选位:

var linienfarbe = CGColor.init(red:0.0,green: 0.0, blue: 1.0,alpha:1.0)
let textfarbe:NSColor? = NSColor.init(cgColor:linienfarbe)

以上结果是可选的。

或者你可以这样做:

let textfarbe:NSColor = NSColor.init(cgColor:linienfarbe)!

此外,如果您不打算再次更改 linienfarbe,请将其设为不可变的 let