Не совсем уверен, что вы пытаетесь достичь, но я дам вам несколько вариантов, чтобы, надеюсь, достичь того, чего вы хотите.
Сначала вы можете получить набор данных выделенной строки. Вы делаете это так
let dataSet = chartView?.data?.dataSets[ highlight.dataSetIndex]
Затем возвращается имя метки набора данных и все точки данных, которые будут выглядеть примерно так
Optional(Charts.LineChartDataSet, label: Some Title, 4 entries:
ChartDataEntry, x: 1.0, y 216.0
ChartDataEntry, x: 2.0, y 243.0
ChartDataEntry, x: 3.0, y 310.0
ChartDataEntry, x: 4.0, y 461.0)
Затем вы можете использовать map
, чтобы получить только те данные, которые вам нужны
let title = dataSet.map({ $0.label })
Есть и другие опции, такие как
let itemAtXValue = dataSet.map({ $0.entriesForXValue(3.0) }
Это вернет значение выбранной линии на 3,0 от оси X.
Дайте мне знать, как вы поживаете.