以下のライブラリのEAMPLEを例に自分のコードに書き足しています。
https://github.com/youkchansim/CSPieChart
例と同じ様にVCのextentionを以下の様に作りdelegateやdatasourceの文を書いたところで以下の様にエラーが出ました。これは何故でしょうか?
上のEXAMPlEのコードとそんなに基本的に変わらないと思ったのですが。。。
Swift
1import CSPieChart 2 3class ViewController: UIViewController { 4 5 @IBOutlet weak var pieChart: CSPieChart! 6 7 var dataList = [ 8 CSPieChartData(key: "test1", value: 90), 9 CSPieChartData(key: "test2", value: 30), 10 CSPieChartData(key: "test3", value: 30), 11 CSPieChartData(key: "test4", value: 30), 12 CSPieChartData(key: "test5", value: 30), 13 CSPieChartData(key: "test6", value: 30) 14 ] 15 16 var colorList: [UIColor] = [ 17 .red, 18 .orange, 19 .yellow, 20 .green, 21 .blue, 22 .magenta 23 ] 24 25 26 override func viewDidLoad() { 27 super.viewDidLoad() 28 29 pieChart?.dataSource = self //Thread 1: EXC_BAD_ACCESS (code=2, address=0x110d75ea8) 30 pieChart?.delegate = self 31 32 pieChart?.pieChartRadiusRate = 0.5 33 pieChart?.pieChartLineLength = 12 34 pieChart?.seletingAnimationType = .touch 35 36 pieChart?.show(animated: false) 37 38/******省略***********/ 39 40 } 41} 42 43extension ViewController: CSPieChartDataSource { 44 func numberOfComponentData() -> Int { 45 return dataList.count 46 } 47 48 func pieChartComponentData(at index: Int) -> CSPieChartData { 49 return dataList[index] 50 } 51 52 func numberOfComponentColors() -> Int { 53 return colorList.count 54 } 55 56 func pieChartComponentColor(at index: Int) -> UIColor { 57 return colorList[index] 58 } 59 60 func numberOfLineColors() -> Int { 61 return colorList.count 62 } 63 64 func pieChartLineColor(at index: Int) -> UIColor { 65 return colorList[index] 66 } 67 68 func numberOfComponentSubViews() -> Int { 69 return dataList.count 70 } 71 72 73 func pieChartComponentSubView(at index: Int) -> UIView { 74 let view = UIImageView(frame: CGRect(x: 0, y: 0, width: 30, height: 30)) 75 view.image = UIImage(named: "test.png") 76 view.layer.cornerRadius = 15 77 view.clipsToBounds = true 78 return view 79 } 80} 81 82extension ViewController: CSPieChartDelegate { 83 func didSelectedPieChartComponent(at index: Int) { 84 let data = dataList[index] 85 print(data.key) 86 } 87} 88
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/09/16 08:16