Charts: Π’ΠΈΠΏ Π°Π½ΠΈΠΌΠ°Ρ†ΠΈΠΈ Barchart EasyInBack Π²Ρ‹Π»Π΅Ρ‚Π°Π΅Ρ‚

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 14 ΠΌΠ°Ρ€. 2018  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: danielgindi/Charts

Π£ мСня Π΅ΡΡ‚ΡŒ Ρ€Π°ΡΡˆΠΈΡ€Π΅Π½ΠΈΠ΅
`` ''
BarChartView {

private class BarChartFormatter: NSObject,IAxisValueFormatter {

    var values : [String]
    required init (values : [String]) {
        self.values = values
        super.init()
    }


    func stringForValue(_ value: Double, axis: AxisBase?) -> String {
        return values[Int(value)]
    }
}

func setChartValues (xAxisValues : [String] , values : [Double],label : String) {

    var barChartDataEntries = [BarChartDataEntry]()

    for i in 0..<values.count {
        let dataEntry = BarChartDataEntry(x: Double(i), y: values[i])
        barChartDataEntries.append(dataEntry)
    }
    let chartDataSet = BarChartDataSet(values: barChartDataEntries, label: label)
    chartDataSet.colors = ChartColorTemplates.colorful()
    let chartData = BarChartData(dataSet: chartDataSet)

    let formatter = BarChartFormatter(values: xAxisValues)
    let xAxis = XAxis()
    xAxis.valueFormatter = formatter
    self.xAxis.valueFormatter = xAxis.valueFormatter
    self.xAxis.labelPosition = .bottom

    self.data = chartData
   // self.data?.notifyDataChanged()
   // self.notifyDataSetChanged()

    self.animate(xAxisDuration: 2.0, yAxisDuration: 2.0, easingOption: .easeInBack) // Cause  crash

}

}
`` ''

И ΠΏΡ€ΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π²Ρ‹Π»Π΅Ρ‚Π°Π΅Ρ‚ здСсь

for j in 0 ..< Int(ceil(Double(dataSet.entryCount) * animator.phaseX)) // Crash here { guard let e = dataSet.entryForIndex(j) as? BarChartDataEntry else { continue }

НСустранимая ошибка: Π½Π΅ удаСтся ΡΡ„ΠΎΡ€ΠΌΠΈΡ€ΠΎΠ²Π°Ρ‚ΡŒ Π΄ΠΈΠ°ΠΏΠ°Π·ΠΎΠ½ с upperBound <lowerBound

(lldb) po dataSet.entryCount
12

(lldb) po animator.phaseX
-0,085005447941268492

ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, Ρ€Π΅ΡˆΠΈΡ‚Π΅ эту ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΡƒ

ВсС 3 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Π”ΡƒΠΌΠ°ΡŽ, Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ, Ρ‡Ρ‚ΠΎ Π² вашСм ΠΏΡ€ΠΎΠ΅ΠΊΡ‚Π΅ Π΅ΡΡ‚ΡŒ большая функция, которая Ρ‚Ρ€Π΅Π±ΡƒΠ΅Ρ‚ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ
ВрСмя Π²Ρ‹ΡˆΠ»ΠΎ

Π»Π° Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅

        DispatchQueue.main.async(execute: {() -> Void in
       self.animate(xAxisDuration: 2.0, yAxisDuration: 2.0, easingOption: .easeInBack) 
        })

Π― Π΄ΡƒΠΌΠ°ΡŽ Ρ‚Π°ΠΊ,
for j in 0 ..< Int(ceil(Double(dataSet.entryCount) * animator.phaseX))
ΠΈΠ·ΠΌΠ΅Π½ΠΈΡ‚ΡŒ для
for j in stride(from: 0, to: Int(ceil(Double(dataSet.entryCount) * animator.phaseX)), by: 1)

@PrashantKT Π£ мСня такая ΠΆΠ΅ ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌΠ°, ΠΈ Ρ„Ρ€Π°Π³ΠΌΠ΅Π½Ρ‚, ΠΎΠΏΡƒΠ±Π»ΠΈΠΊΠΎΠ²Π°Π½Π½Ρ‹ΠΉ @txoan , Ρ€Π°Π±ΠΎΡ‚Π°Π΅Ρ‚, Π½ΠΎ Π±Ρ‹Π»ΠΎ Π±Ρ‹ Π·Π΄ΠΎΡ€ΠΎΠ²ΠΎ, Ссли Π±Ρ‹ ΠΊΡ‚ΠΎ-Π½ΠΈΠ±ΡƒΠ΄ΡŒ ΠΌΠΎΠ³ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΈΡ‚ΡŒ, Π½Π΅ Π²Π²ΠΎΠ΄ΠΈΡ‚ Π»ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ Π½ΠΎΠ²Ρ‹Ρ… ошибок ΠΈΠ»ΠΈ ΠΊΠ°ΠΊΠΈΡ…-Π»ΠΈΠ±ΠΎ Π΄Ρ€ΡƒΠ³ΠΈΡ… ΠΏΡ€ΠΎΠ±Π»Π΅ΠΌ. @jjatie @ liuxuan30

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ