2017-07-11 199 views
0

我在Swift中使用Charts library绘制条形图。swift堆积条形图

这里是我的代码:

class barChartVC: UIViewController { 

    let months = ["January" , "February" , "March" , "April" , "May" , "June" , "July" , "August"] 
    let unitsSold = [10.0,20.0,30.0,20.0,20.0,10.0,15.0,20.0] 
    let unitsSold1 = [20.0,30.0,50.0,40.0,30.0,20.0,45.0,50.0] 

    var dataEntries: [BarChartDataEntry] = [] 
    @IBOutlet var barChartView: BarChartView! 

    override func viewDidLoad() { 
     super.viewDidLoad() 

     setChartBarGroupDataSet(dataPoints: months, values: unitsSold, values2: unitsSold1, sortIndex: 0) 
    } 

    func setChartBarGroupDataSet(dataPoints: [String], values: [Double], values2: [Double],sortIndex:Int) { 
     for i in 0..<dataPoints.count 
     { 
      let dataEntry = BarChartDataEntry(x: values[i], y: Double(i)) 
      let dataEntry1 = BarChartDataEntry(x: values2[i], y: Double(i)) 
      dataEntries.append(dataEntry) 
      dataEntries.append(dataEntry1) 
     } 

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

     var COLOR_SET = [UIColor]() 
     COLOR_SET = [UIColor.red,UIColor.green] 

     chartDataSet.setColors(COLOR_SET, alpha: 1.0) 

     let dataSets: [BarChartDataSet] = [chartDataSet] 

     let data = BarChartData(dataSets: dataSets) 
     barChartView.data = data // Fatal error is here 

     barChartView.descriptionText = "Bar Chart" 
     barChartView.rightAxis.drawGridLinesEnabled = false 
     barChartView.rightAxis.drawAxisLineEnabled = false 
     barChartView.rightAxis.drawLabelsEnabled = false 
     barChartView.animate(xAxisDuration: 2.0, yAxisDuration: 2.0, easingOption: .easeInBounce) 
    } 
} 

我越来越对我标志着代码行一个致命的错误。

fatal error: unexpectedly found nil while unwrapping an Optional value

非常感谢您帮助我的人。

+1

“获得了标志着我在代码行致命错误”而什么错误到底?什么是整个错误信息?通常,它是详细而且有用的调试。 – Larme

+0

尝试更改:'let data = BarChartData(dataSets:dataSets)'为'let data = BarChartData(dataSet:dataSets)' –

+0

@NoahCristino尝试了您的建议,仍然是同样的致命错误。 – swiftuser123

回答

1

我能够毫无错误地运行你的代码。我相信你面临的问题是IBOutlet。

确保在您的故事板选定类是BarChartView和 ,你在故事板视图连接到IBOutlet中在你的ViewController

enter image description here