Donc, je suis le tutoriel iOS-Charts sur AppCoda, je l'ai suivi parfaitement, puis quand j'avais des problèmes j'ai aussi copié le code pour correspondre exactement à leur.Erreur iOS-Charts: Thread1: EXC_BAD_ACCESS (code = 2, adresse = 0x2a0c220)
Le problème est que lorsque j'essaie de créer un graphique à secteurs, exécutez-le. J'obtiens l'erreur:
Thread1: EXC_BAD_ACCESS (code=2, address=0x2a0c220)
et l'application se bloque. Quand il tombe en panne, il met en évidence cette ligne:
pieChartView.data = pieChartData
est ici comme capture d'écran de l'écran:
Voici le code complet du viewcontroller.swift:
import UIKit
import Charts
class ViewController: UIViewController {
@IBOutlet weak var pieChartView: PieChartView!
func setChart(dataPoints: [String], values: [Double]) {
var dataEntries: [ChartDataEntry] = []
for i in 0..<dataPoints.count {
let dataEntry = ChartDataEntry(value: values[i], xIndex: i)
dataEntries.append(dataEntry)
}
let pieChartDataSet = PieChartDataSet(yVals: dataEntries, label: "Units Sold")
let pieChartData = PieChartData(xVals: dataPoints, dataSet: pieChartDataSet)
pieChartView.data = pieChartData
var colors: [UIColor] = []
for i in 0..<dataPoints.count {
let red = Double(arc4random_uniform(256))
let green = Double(arc4random_uniform(256))
let blue = Double(arc4random_uniform(256))
let color = UIColor(red: CGFloat(red/255), green: CGFloat(green/255), blue: CGFloat(blue/255), alpha: 1)
colors.append(color)
}
pieChartDataSet.colors = colors
}
override func viewDidLoad() {
super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib.
let months = ["Jan", "Feb", "Mar", "Apr", "May", "Jun"]
let unitsSold = [20.0, 4.0, 6.0, 3.0, 12.0, 16.0]
setChart(months, values: unitsSold)
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
}