2

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

这是 chartData 代码: var chartData = [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)])
    }
4

1 回答 1

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
}

注意:确保这String有 number 作为值,否则它将返回0for height

于 2017-04-07T07:16:43.027 回答