我有以下变量:
var calorieTotal: Float {
return calorieNumberArray.reduce(0) { $0 + $1 }
}
基本上,我试图添加我在一起的数组的数字。首先,我将变量设置为int
,但现在我需要它作为float
值。当我尝试这样做时,会出现错误:"' UInt8'不是' float'"的子类型。我怎样才能解决这个问题?请提供新/已更改变量的代码,因为我是编程新手。
答案 0 :(得分:0)
我假设calorieNumberArray
是Int
的数组 - 在这种情况下,只需将float作为初始值传递,并显式转换为Float
传递给闭包的第二个参数:
var calorieTotal: Float {
return calorieNumberArray.reduce(0 as Float) { $0 + Float($1) }
}
$0
不需要转换,因为它已经是浮点数