如何使用研究工具包构建饼图



嗨,我是 swift 的新手,我尝试使用研究工具包应用程序构建饼图。

我参考此链接编写了一些代码

运行我的代码时,它显示错误"类型'视图控制器'不符合协议'ORK PieChartView DataSource''

请建议如何解决此问题。

这是我的代码:

import UIKit
import ResearchKit
class ViewController: UIViewController,ORKPieChartViewDataSource {

@IBOutlet weak var pieChartView: ORKPieChartView!
var colors : NSArray!
override func viewDidLoad() {
super.viewDidLoad()
colors = [
UIColor(red: 217/225, green: 217/255, blue: 217/225, alpha: 1),
UIColor(red: 142/255, green: 142/255, blue: 147/255, alpha: 1),
UIColor(red: 244/255, green: 200/255, blue: 74/255, alpha: 1)
]
// Connect the pie chart object to a data source
pieChartView.dataSource = pieChartDataSource
// Optional custom configuration
pieChartView.showsTitleAboveChart = false
pieChartView.showsPercentageLabels = true
pieChartView.drawsClockwise = true
pieChartView.titleColor = UIColor.purple
pieChartView.textColor = UIColor.purple
pieChartView.title = "Weekly"
pieChartView.text = "Report"
pieChartView.lineWidth = 10
pieChartView.showsPercentageLabels = true
}
override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated.
}
func numberOfSegmentsInPieChartView(pieChartView: ORKPieChartView ) -> Int {
return 3
}
func pieChartView(_ pieChartView: ORKPieChartView, valueForSegmentAt index: Int) -> CGFloat {
switch index {
case 0:
return 60.0
case 1:
return 25.0
case 2:
return 15.0
}
// Optional methods
// Give a color to each segment in the pie chart.
func pieChartView(pieChartView: ORKPieChartView, colorForSegmentAtIndex index: Int) -> UIColor {
return colors[index]
}
// Give a title to each segment in the pie chart.
func pieChartView(pieChartView: ORKPieChartView, titleForSegmentAtIndex index: Int) -> String {
switch index {
case 0:
return "Steps taken"
case 1:
return "Tasks completed"
case 2:
return "Surveys completed"
default:
return "task (index + 1)"
}
}
}
}

错误"类型'视图控制器'不符合协议 'ORK PieChartView DataSource'means that you are not implemented all the required data source methods.....在您的代码中,您编写了一个wrong datasource methodfunc pieChartView(_ pieChartView: ORKPieChartView, valueForSegmentAt index: Int) -> CGFloat,更改它 像下面.....

func pieChartView(pieChartView: ORKPieChartView, valueForSegmentAt index: Int) -> CGFloat {
switch index {
case 0:
return 60.0
case 1:
return 25.0
case 2:
return 15.0
}

相关内容

  • 没有找到相关文章

最新更新