chartValueSelected никогда не вызывается
Я использую https://github.com/danielgindi/Charts в моем проекте.
Вот мой код, вот как я объявляю свой класс ViewController:
class ViewController: UIViewController, ChartViewDelegate
объявление chartView
@IBOutlet weak var chartView: LineChartView!
внутри viewDidLoad()
self.chartView.delegate = self
и это, как я реализую метод делегата
func chartValueSelected(chartView: ChartViewBase, entry: ChartDataEntry, dataSetIndex: Int, highlight: Highlight)
{
print(dataSetIndex)
}
По какой-то причине, когда я пролистываю график, этот метод никогда не вызывается. Есть идеи, почему это может произойти?
заранее спасибо
2 ответа
Как и следовало ожидать, проблема заключалась в разнице подписи метода в Swift 3.
Свифт 3
func chartValueSelected(_ chartView: ChartViewBase, entry: ChartDataEntry, highlight: Highlight) { ... }
С помощью точки останова проверьте, инициализирован ли chatView в viewDidLoad, и проверьте его делегат, затем проверьте, был ли когда-либо вызван метод, который вызывает делегат. Вы можете использовать po chartView.delegate на экране терминала. Возможно, вы не выбираете диаграмму, это не внутренняя кнопка, чтобы вызвать выбранный метод, вы должны установить выбранный, если вы хотите, чтобы это работало как кнопка, может быть, там такое действие называется setHighlighted...