我为线图和条形图创建了两个单独的xib文件,并将其链接到场景中的视图。我根据数据类型分配了笔尖。我在我的UIView类中有一个函数setChart()
,我需要从我的ViewController调用以绘制图表。从ViewController调用UIView方法
如何从我的ViewController调用函数setChart()
?我的代码不能正常工作
的UIView:
class BarChartDashboard: UIView {
@IBOutlet weak var barChartView: BarChartView!
override func awakeFromNib() {
.....
}
func setChart(dataPoints: [String], values: [Double]) {
.....
}
}
的ViewController:
class DetailDashboardViewController: UIViewController {
@IBOutlet weak var chartView: UIView!
override func viewDidLoad() {
super.viewDidLoad()
runQueries(2)
if index != 3{
chartView = NSBundle.mainBundle().loadNibNamed("BarChartDashboard", owner: self, options: nil)[0] as? UIView
}
else{
chartView = NSBundle.mainBundle().loadNibNamed("LineChartDashboard", owner: self, options: nil)[0] as? UIView
}
}
}
private extension DetailDashboardViewController {
func runQueries(period: Int) {
self.query(false, periodIndex: period){ (success) -> Void in
if success {
// do second task if success
dispatch_async(dispatch_get_main_queue(), {
if self.index != 3{
(self.chartView as! BarChartDashboard).setChart(self.yAxis, values: self.xAxis)
}
else{
(self.chartView as! LineChartDashboard).setChartData(self.yAxis, yAxisMax: self.xAxisMax, yAxisMin : self.xAxisMin)
}
})
}
}
}
func query(min: Bool, periodIndex: Int, completion: (success: Bool) -> Void) {
.......
}
}