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

Cannot invoke initializer for type CGFloat with an argument list of type 'String'

我正在用 JBChart 制作条形图。我想将 chartData 更改为 String。请帮我做。

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

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

var chartData = [score1, score2, score3]

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

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

错误清楚地表明 CGFloat 没有接受 String 作为参数的初始值设定项。您可以像先将 String 转换为 Float 然后将 Float 转换为 CGFloat.

一样使用环绕
public func barChartView(_ barChartView: JBBarChartView!, heightForBarViewAt index: UInt) -> CGFloat {

    if let value = Float(chartData[Int(index)]) {
        return CGFloat(value)
    }
    return 0
}

注意: 确保此 String 的值为数字,否则它将 return 0 for height