swift: reload-Ansicht für die Anzeige der neuen Daten im Diagramm

im mit das Diagramm-framework "Charts", aber es hat keine reload-Funktion für die Karte mit neuen Daten. Es können nur anzeigen, das Diagramm einmal mit dem laden der viewController. Aber ich will das nachladen der Ansicht/Diagramm mit einer Auswahl aus einer Tabelle. (die Tabelle ist in anderen viewcontroller)

in meinem Fall, ich habe einen ViewController mit einem Blick in
und die Daten werden in zwei arrays: x-und y -

func setChartData(x: [Double], y: [Double])

Ich versuchte zu rufen, die Funktion aber nicht anzeigen.
Wenn die Funktion aufgerufen wird von viewWillAppear()
die Karte ist nur zu zeigen, wenn ich wechseln zu einem anderen viewcontroller, und wechseln Sie wieder

wie kann ich dieses Problem lösen

selbst.Blick!.setNeedsDisplay() innerhalb der Funktion nicht funktioniert.

Meiner viewcontroller:

override func viewWillAppear(animated: Bool) {
    setChartData(resultID_statistics, y: resultWeight_statistics)

}

func setChartData(x: [Double], y: [Double])  {

    //1 - creating an array of data entries
    var yVals1 : [ChartDataEntry] = [ChartDataEntry]()
    for var i = 0; i < x.count; i++ {
        yVals1.append(ChartDataEntry(value: y[i], xIndex: i))
    }

    //2 - create a data set with our array
    let set1: LineChartDataSet = LineChartDataSet(yVals: yVals1, label: "First Set")
    set1.axisDependency = .Left //Line will correlate with left axis values
    set1.setColor(UIColor.redColor().colorWithAlphaComponent(0.5)) //our line's opacity is 50%
    set1.setCircleColor(UIColor.redColor()) //our circle will be dark red
    set1.lineWidth = 2.0
    set1.circleRadius = 6.0 //the radius of the node circle
    set1.fillAlpha = 65 / 255.0
    set1.fillColor = UIColor.redColor()
    set1.highlightColor = UIColor.whiteColor()
    set1.drawCircleHoleEnabled = true

    //3 - create an array to store our LineChartDataSets
    var dataSets : [LineChartDataSet] = [LineChartDataSet]()
    dataSets.append(set1)

    //4 - pass our months in for our x-axis label value along with our dataSets
    let data: LineChartData = LineChartData(xVals: x, dataSets: dataSets)
    data.setValueTextColor(UIColor.whiteColor())

    //5 - finally set our data
    self.lineChartView.data = data

    data.notifyDataChanged()
    lineChartView.notifyDataSetChanged()

}
  • Ich versuchte, fügen Sie die Werte in die globalen arrays, und rufen Sie die Funktion von viewWillAppear override func viewWillAppear(animierte: Bool) { setChartData(resultID_statistics, y: resultWeight_statistics) }
  • es laden nicht beim Aufruf von viewwillappear?
  • Nein ist es nicht, nur wenn ich Umschalten auf einen anderen VC und wieder zurück wechseln
InformationsquelleAutor mostworld77 | 2016-08-30
Schreibe einen Kommentar