【问题标题】:Swift: Error saving UIColor to NSUserDefaults (CGFloat is not convertible to Float)Swift:将 UIColor 保存到 NSUserDefaults 时出错(CGFloat 不能转换为 Float)
【发布时间】:2014-10-22 15:53:06
【问题描述】:

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

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

【问题讨论】:

    标签: save nsuserdefaults uicolor cgfloat


    【解决方案1】:

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

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

    【讨论】:

      猜你喜欢
      • 2014-07-31
      • 1970-01-01
      • 2018-10-12
      • 2014-09-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-11-19
      相关资源
      最近更新 更多