Xcode 6.4 iOS 图表 API 错误
Xcode 6.4 iOS Charts API Error
我对未解析的标识符有疑问 '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
您在 for 循环中使用了 dataPoints
,但 viewDidLoad()
的范围内没有这样的变量。
在您的评论中,您提到在函数 setChart()
中声明了一个 dataPoints
,但这是该函数的局部声明,不适用于其他函数。
从你的代码来看,你应该为 for 循环使用 months
。
关于这一点,您可能打算在 for 循环中创建 BarChartDataEntry
对象时使用 unitsSold
而不是 values
。
我对未解析的标识符有疑问 '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
您在 for 循环中使用了 dataPoints
,但 viewDidLoad()
的范围内没有这样的变量。
在您的评论中,您提到在函数 setChart()
中声明了一个 dataPoints
,但这是该函数的局部声明,不适用于其他函数。
从你的代码来看,你应该为 for 循环使用 months
。
关于这一点,您可能打算在 for 循环中创建 BarChartDataEntry
对象时使用 unitsSold
而不是 values
。