dificuldades após "Como usar a API de gráficos do iOS para criar gráficos bonitos no Swift"

o tutorial do AppCoda, datado de 23/06/2015, orienta você na conclusão de um projeto inicial que não atrai suas visualizações para uma que o faz. no entanto, meu projeto desenha o gráfico de barras de exemplo incorretamente; no tutorial, todas as barras aparecem e estão rotuladas corretamente. eu coloquei minha versão do projeto aquiIOChartsDemo.

é isso que acontece no meu projeto

ambiente de desenvolvimento:

macOS 12.5.5, Xcode 8.3.3 (8E3004b)Gráficos 3.0.2

baixei o projeto inicial indicado no tutorial.

o projeto inicial no tutorial não foi criado, houve problemas de API. Depois de seguir as instruções no tutorial e corrigir os erros, acabo com isso (as linhas de problemas são comentadas):

class BarChartViewController: UIViewController {
@IBOutlet weak var barChartView: BarChartView!

var months: [String]!

override func viewDidLoad() {
    super.viewDidLoad()
    // barChartView.noDataTextDescription = "Just because" type BarChartView doest have noDataTextDescription
    months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun", "Jul", "Aug", "Sep", "Oct", "Nov", "Dec"]
    let unitsSold = [20.0, 4.0, 6.0, 3.0, 12.0, 16.0, 4.0, 18.0, 2.0, 4.0, 5.0, 4.0]

    // setChart(months, values: unitsSold) missing argument label dataPoints: in call
    setChart(dataPoints: months, values: unitsSold)
}

func setChart(dataPoints: [String], values: [Double]) {
    barChartView.noDataText = "You need to provide data for the chart."
    var dataEntries: [BarChartDataEntry] = []

    for i in 0..<dataPoints.count {
        // let dataEntry = BarChartDataEntry(value: values[i], xIndex: i) // argument labeld dont match
        let dataEntry = BarChartDataEntry(x: values[i], y: Double(i), data: dataPoints[i] as AnyObject)

        dataEntries.append(dataEntry)
    }

    let chartDataSet = BarChartDataSet(values: dataEntries, label: "Units Sold")

    // let chartData = BarChartData(xVals: months, dataSet: chartDataSet) cannot invoke initializer BarCharData with arg list of (xVals: [String]!, dataSet: BarCharDataSet
    let chartData    = BarChartData(dataSets: [chartDataSet])

    barChartView.data = chartData   
}

}

Neste ponto, quando executo o aplicativo, obtenho o resultado indicado anteriormente. Eu os consertei depois de passar pela API do Charts. Suponho que esse problema seja causado pelas alterações dos gráficos 2.x para 3.x.

se você é um especialista em gráficos, solicito sua assistência.

questionAnswers(1)

yourAnswerToTheQuestion