1

我遇到了一个未解决的标识符“dataPoints”的问题,它位于 for 循环中,我已经尽我所能尝试了,但由于我对 swift 还很陌生,我似乎找不到解决方案。

    var months: [String]!
func setChart(dataPoints: [String], values: [Double]) {
    barChartView.noDataText = "You need to provide data for the chart."

}

override func viewDidLoad() {
    super.viewDidLoad()

    months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
    let unitsSold = [20.0, 4.0, 6.0, 3.0, 12.0, 16.0, 4.0, 18.0, 2.0, 4.0, 5.0, 4.0]

    setChart(months, values: unitsSold)
    var dataEntries: [BarChartDataEntry] = []
    for i in 0..<dataPoints.count {
        let dataEntry = BarChartDataEntry(value: values[i], xIndex: i)
        dataEntries.append(dataEntry)
    }

    let chartDataSet = BarChartDataSet(yVals: dataEntries, label: "Units Sold")
    let chartData = BarChartData(xVals: months, dataSet: chartDataSet)
    barChartView.data = chartData
4

1 回答 1

1

dataPoints在 for 循环中使用,但在viewDidLoad().

在您的评论中,您提到dataPoints在函数中声明 a setChart(),但这是该函数的本地函数,它不适用于其他函数。

从您的代码看来,您应该使用monthsfor 循环。

在那一点上,您可能打算在该 for 循环中创建对象时使用unitsSold而不是。valuesBarChartDataEntry

于 2015-08-24T10:54:00.367 回答