2017-06-18 1 views
1

Je veux obtenir un NSColor d'un CGColor existant avec le fonc
NSColor.init (cgColor: aCGColor)? Selon les docsNSColor.init? (CgColor: aCGColor) référence ambiguë

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

I Je reçois l'erreur:

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

Qu'est-ce qui ne va pas?

Répondre

1

Débarrassez du bit option après initialisation:

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

Le résultat ci-dessus sera une option.

ou vous pouvez faire:

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

De plus, si vous ne va pas changer linienfarbe à nouveau, faire un let immuable.

+0

Merci beaucoup, les deux solutions font l'affaire. J'ai copié ma ligne avec l'option des docs, mais ma connaissance dans ce cas semble toujours être pauvre. – heimi