为什么我不能使用float类型的变量来减少""数组?

时间:2014-12-07 19:02:04

标签: swift floating-point int reduce

我有以下变量:

var calorieTotal: Float {
    return calorieNumberArray.reduce(0) { $0 + $1 }
}

基本上,我试图添加我在一起的数组的数字。首先,我将变量设置为int,但现在我需要它作为float值。当我尝试这样做时,会出现错误:"' UInt8'不是' float'"的子类型。我怎样才能解决这个问题?请提供新/已更改变量的代码,因为我是编程新手。

1 个答案:

答案 0 :(得分:0)

我假设calorieNumberArrayInt的数组 - 在这种情况下,只需将float作为初始值传递,并显式转换为Float传递给闭包的第二个参数:

var calorieTotal: Float {
    return calorieNumberArray.reduce(0 as Float) { $0 + Float($1) }
}

$0不需要转换,因为它已经是浮点数