无法使用类型为“String”的参数列表调用 CGFloat 类型的初始值设定项

Von*_*uez 2 bar-chart jawbone swift

我正在从 JBChart 制作条形图。我想将图表数据更改为字符串。请帮我做。

这是图表数据代码: var chartData = [1, 2, 3]

然后我想将它从其他视图控制器的 UILabel 更改为字符串。

var chartData = [score1, score2, score3]
Run Code Online (Sandbox Code Playgroud)

但是我总是在此代码中收到此错误(无法使用类型为“String”的参数列表调用 CGFloat 类型的初始值设定项):

    public func barChartView(_ barChartView: JBBarChartView!, heightForBarViewAt index: UInt) -> CGFloat {
        return CGFloat(chartData[Int(index)])
    }
Run Code Online (Sandbox Code Playgroud)

Nir*_*v D 5

错误清楚地表明CGFloat没有接受String作为参数的初始化程序。您可以使用环绕方式,例如先转换StringFloat然后转换FloatCGFloat.

public func barChartView(_ barChartView: JBBarChartView!, heightForBarViewAt index: UInt) -> CGFloat {

    if let value = Float(chartData[Int(index)]) {
        return CGFloat(value)
    }
    return 0
}
Run Code Online (Sandbox Code Playgroud)

注:确保此String有数量值否则将返回0height