2016-07-28 18 views
2

Absturz der Anwendung definiert, und ich habe diesen Fehler in meiner Xcode-Konsole:CGColor nicht für die UIColor UIDeviceRGBColorSpace 1 1 0 1

NSInvalidArgumentException', reason: '*** -CIColor not defined for the UIColor UIDeviceRGBColorSpace 1 1 0 1; need to first convert colorspace. 

wenn ich versuche, den Wert der RGB-Farbe anzuzeigen:

var color:UIColor 
print("color \(color.CIColor.red) \(color.CIColor.green) \(color.CIColor.blue)") 
+1

Dieser Code nicht kompiliert. Wie/wo wird "Farbe" initialisiert? –

Antwort

1

Von CIColor doc:

var CIColor: CIColor { get }

Die mit dem Empfänger verknüpfte Farbe des Hauptbildes. (schreibgeschützt) Diese Eigenschaft löst eine Ausnahme aus, wenn das Farbobjekt nicht mit einer Core Image-Farbe initialisiert wurde.

Verwenden getRed Methode RGB erhalten:

var color = UIColor.redColor() 
var fRed: CGFloat = 0 
var fGreen: CGFloat = 0 
var fBlue: CGFloat = 0 
var fAlpha: CGFloat = 0 
if color.getRed(&fRed, green: &fGreen, blue: &fBlue, alpha: &fAlpha) { 
    print("color \(fRed) \(fGreen) \(fBlue)") 
} else { 
    print("error: color could not be converted") 
} 
0

Initialisierung des Farbe Wert zu einem gewissen Standardwert funktionieren sollte:

var color = UIColor.white