Hi i am new to swift and i tried to build a piechart using research kit app.
i write some code with reference of this link
When run my code it showing error 'Type 'ViewController' does not conform to protocol 'ORK PieChartView DataSource''
please suggest how to solve this issue.
here is my code:
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)"
}
}
}
}