【发布时间】:2016-07-31 10:37:37
【问题描述】:
我为折线图和条形图创建了两个单独的 xib 文件,并将其链接到我场景中的视图。我根据数据类型分配了笔尖。我的 UIView 类中有一个函数 setChart(),我需要从 ViewController 调用它来绘制图表。
如何从我的 ViewController 调用函数 setChart()?我的代码不起作用
UIView:
class BarChartDashboard: UIView {
@IBOutlet weak var barChartView: BarChartView!
override func awakeFromNib() {
.....
}
func setChart(dataPoints: [String], values: [Double]) {
.....
}
}
视图控制器:
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) {
.......
}
}
【问题讨论】: