2017-07-12 24 views
2

こんにちは、私は迅速に新しいです、私はリサーチキットアプリを使用してpiechartを構築しようとしました。リサーチキットを使用して円グラフを作成する方法

それはエラー「タイプ 『を示す私のコードを実行すると、私はこのlink

の参照といくつかのコードを書くのViewController』プロトコルに準拠していない 『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)" 
       } 
      } 
     } 
    } 

答えて

0

エラー「タイプ 'のViewController' プロトコル に準拠していない '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 
       } 
+0

のTh reply.iのanksは欠けているメソッドを探しましたが、見つけられませんでした。あなたは何が欠けているか知っている場合。それらをリストアップしてください。 – basha

+0

実際には 'func pieChartView(_ pieChartView:ORKPieChartView、valueForSegmentAt index:Int) - > CGFloat'を削除し、上記のデータソースメソッドを追加します..... –

+0

あなたのメソッドに' _'addedが間違っています.. –

関連する問題