Swift数组更新值

时间:2017-03-19 21:15:59

标签: ios swift charts

我正在使用swift图表库。

当我使用这段代码时,这就是我得到的。这就是我想要图表的样子。

enter image description here

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更改。

enter image description here

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

    }

1 个答案:

答案 0 :(得分:0)

在第一个函数中,您使用一堆数字创建values数组。在第二个函数中,您将创建一个空的values数组,然后向其附加一个数字(totalCountY)。

所以,只有一个号码可供使用。你想要完成什么?