我正在使用 swift 图表库。
当我使用这段代码时,这就是我得到的。这就是我希望图表的样子。
func updateChartValues(totalCountY: Double) -> (LineChartDataSet) {
let values: [Double] = [8, 104, 81, 93, 52, 44, 97, 101, 75, 28,
76, 25, 20, 13, 52, 44, 57, 23, 45, 91,
99, 14, 84, 48, 40, 71, 106, 41, 45, 61]
var entries: [ChartDataEntry] = Array()
for (i, value) in values.enumerated() {
entries.append(ChartDataEntry(x: Double(i), y: value, data: UIImage(named: "icon", in: Bundle(for: self.classForCoder), compatibleWith: nil)))
print("Value: ", values[i])
}
self.dataSet = LineChartDataSet(values: entries, label: "Bullish vs. Bearish")
self.dataSet.mode = LineChartDataSet.Mode.cubicBezier
return dataSet
}
但是当我更改数组(2 行代码)时,每次只有一个值更新到相同的位置并且没有显示任何图形。我不知道如何正确更新数组。我希望能够使用我的 totalCountY 值更新图表。 (在 totalYCount 的图表上只添加了 1 个值,没有显示图表。我希望上传所有值。)索引从 0 开始永远不变。
func updateChartValues(totalCountY: Double) -> (LineChartDataSet) {
var values = [Double]()
values.append(totalCountY)
var entries: [ChartDataEntry] = Array()
for (i, value) in values.enumerated() {
entries.append(ChartDataEntry(x: Double(i), y: value, data: UIImage(named: "icon", in: Bundle(for: self.classForCoder), compatibleWith: nil)))
print("Value: ", values[i])
}
self.dataSet = LineChartDataSet(values: entries, label: "Bullish vs. Bearish")
self.dataSet.mode = LineChartDataSet.Mode.cubicBezier
return dataSet
}
最佳答案
在第一个函数中,您创建了包含一串数字的 values
数组。在第二个函数中,您创建一个空的 values
数组,然后向其附加一个数字 (totalCountY
)。
因此,它只能使用一个数字。你想要完成什么?
关于ios - Swift 数组更新值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42892366/