0

我正在尝试保存 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])

对理解所提到的错误以及可能的修复有任何帮助吗?

4

1 回答 1

0

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

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

于 2014-10-25T10:47:10.970 回答