我正在尝试Int
从 Array 中获取值并将它们转换为CGFloat
s ,以便我可以UIColor
从这些红色、绿色和蓝色值中创建一个。很简单,对吧?
我可以成功地从Int
数组中取出值,但是当我尝试转换为CGFloat
时,结果为 0.000000。为什么是这样?
let colorArray = NSUserDefaults.standardUserDefaults().arrayForKey("colors")
let redValue = colorArray[0] as Int
let greenValue = colorArray[1] as Int
let blueValue = colorArray[2] as Int
NSLog("%i", redValue) //prints 255
NSLog("%i", greenValue) //prints 250
NSLog("%i", blueValue) //prints 150
let redFloat = CGFloat(redValue) / 255.0
let greenFloat = CGFloat(greenValue) / 255.0
let blueFloat = CGFloat(blueValue) / 255.0
NSLog("%f", redFloat) //prints 0.000000
let color = UIColor(red: redFloat, green: greenFloat, blue: blueFloat, alpha: 1)
如果我不除以 255.0,我会得到相同的结果 - 0。我在这里做错了什么?