2017-03-19 3 views
1

빠른 차트 라이브러리를 사용 중입니다.Swift Array 업데이트 값

이 코드를 사용할 때 얻을 수있는 것입니다. 차트를 보길 원하는 것입니다.

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 

    } 

enter image description here

하지만 어레이 (코드 2 줄) 단지 하나의 값이 동일한 위치마다 업데이트되며, 그래프에는 도시되지 변경할 때. 배열 업데이트를 올바르게 수행하는 방법을 모른다. 내 totalCountY 값으로 차트를 업데이트 할 수 있기를 바랍니다. (단 1 값. I 모든 값을 업로드 할 그래프가 도시 밖으로 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

은 값 배열의 모든 값이 아닌 모든 값을 하나씩 업데이트합니다. – codechicksrock

+0

'values' 배열의 내용을 유지하려면 객체의 인스턴스 변수에 두 값을 저장해야합니다 (두 함수가 같은 객체에 속한다고 가정) . 현재 두 배열은 연결이 전혀 없습니다 (같은 이름을 공유하는 것을 제외하고는). – Patru

답변

0

에서 변경되지 당신은 숫자의 무리와 values 배열을 만듭니다. 두 번째 함수에서는 빈 values 배열을 만든 다음 하나의 숫자 (totalCountY)를 추가합니다.

그래서 하나의 번호 만 사용할 수 있습니다. 무엇을 성취하려고합니까?