Swift:将UIColor保存为NSUserDefaults时出错(CGFloat不能转换为Float)



我试图保存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])

有什么帮助可以理解上面提到的错误以及可能的修复方法吗?

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

defaults.setFloat(CGFloat,colors[0]),对于Key:kFontSelectedColorR)

最新更新