2017-03-19 18 views
1

私は瞬時チャートライブラリを使用しています。スイフトアレイ更新値

このコードを使用すると、これは私が得るものです。どのような私は、グラフを見たいです。

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値でグラフを更新できるようにしたい。 (のみ1つの値を示すグラフアウトとtotalYCountのチャートに追加される。私はすべての値がアップロードされたい。)インデックスは、最初の関数で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 

    } 
+0

は値の配列のすべての値ではなく毎回1つの値を更新します – codechicksrock

+0

'values'配列の内容を保持したい場合は、オブジェクトのインスタンス変数に格納する必要があります(2つの関数が同じオブジェクトに属すると仮定します) 。現在、2つの配列は全く同じ名前を共有する偶然を除いて全く接続していません。 – Patru

答えて

0

から変更されることはありませんあなたは数字の束でvaluesの配列を作成します。 2番目の関数では、空のvalues配列を作成し、それに単一の数値(totalCountY)を追加します。

したがって、動作する番号は1つだけです。あなたは何を達成しようとしていますか?