Swift:将UIColor保存到NSUserDefaults时出错(CGFloat无法转换为Float)

时间:2014-10-22 15:53:06

标签: save nsuserdefaults uicolor cgfloat

我试图保存UISlider的RGB值,但收到以下错误:

  

' CGFloat的'不能转换为' Float'

private func saveDisplayColor() {
    var color = sliderView.backgroundColor
    let colors = CGColorGetComponents(color?.CGColor)

    var defaults:NSUserDefaults = NSUserDefaults.standardUserDefaults()
    defaults.setFloat(colors[0], forKey:kFontSelectedColorR)
    defaults.setFloat(colors[1], forKey:kFontSelectedColorG)
    defaults.setFloat(colors[2], forKey:kFontSelectedColorB)
    defaults.synchronize()
}

抱歉,我在这里迷了路。我在做的时候看到了正确的值:

    println(colors[0])
    println(colors[1])
    println(colors[2])

有任何帮助可以理解上述错误以及可能的解决方法吗?

1 个答案:

答案 0 :(得分:0)

似乎我只需要用CGFloat包装它:

defaults.setFloat(CGFloat(colors [0]),forKey:kFontSelectedColorR)