dificultades después de "Cómo usar la API de gráficos de iOS para crear gráficos hermosos en Swift"

El tutorial de AppCoda, fechado el 23/06/2015, lo guía a través de la finalización de un proyecto inicial que no dibuja sus vistas en uno que sí lo hace. sin embargo, mi proyecto dibuja el gráfico de barras de ejemplo incorrectamente; en el tutorial aparecen todas las barras y están etiquetadas correctamente. coloqué mi versión del proyecto aquíIOChartsDemo.

esto es lo que pasa en mi proyecto

entorno de desarrollo:

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

Descargué el proyecto de inicio indicado en el tutorial.

el proyecto de inicio en el tutorial no se compiló, hubo problemas de api. después de seguir las instrucciones en el tutorial y corregir los errores, termino con esto (las líneas problemáticas están 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   
}

}

en este punto, cuando ejecuto la aplicación, obtengo el resultado indicado anteriormente. Lo arreglé después de pasar por la API de Gráficos. Supongo que este problema es causado por los cambios de los Gráficos 2.xa 3.x.

Si eres un experto en gráficos, solicito tu ayuda.

Respuestas a la pregunta(1)

Su respuesta a la pregunta