SwiftUI использует графики для создания RadarChart и хочет обновить RadarChartDataEntry в режиме реального времени - PullRequest
2 голосов
/ 12 апреля 2020

Можно ли редактировать ввод данных для карт радара в режиме реального времени, используя iOS Карты https://github.com/danielgindi/Charts?

Я начинаю с новой диаграммы со всеми нулями как таковой:

var newRadarDataSet = RadarChartDataSet (
    entries: [
        RadarChartDataEntry(value: 0),
        RadarChartDataEntry(value: 0),
        RadarChartDataEntry(value: 0),
        RadarChartDataEntry(value: 0),
        RadarChartDataEntry(value: 0)
   ]
)

И в то время как приложение работает, я хотел бы обновить диаграмму на основе ввода.

Можно ли это сделать?!

Когда я пытаюсь изменить такие записи:

self.newRadarDataSet.entries[0] = RadarChartDataEntry(value: 10)

Я получаю следующую ошибку:

Cannot assign through subscript: 'entries' setter is inaccessible

Кто-нибудь знает, как это обойти?!

1 Ответ

1 голос
/ 12 апреля 2020

Здесь возможен подход. Протестировано с Xcode 11.4

Примечание: replaceEntries уведомляет об изменениях автоматически, поэтому диаграмма будет обновляться, как и ожидалось.

demo

newRadarDataSet.replaceEntries(newRadarDataSet.entries.indices.map {
    $0 == 0 ? RadarChartDataEntry(value: 10) : newRadarDataSet.entries[$0]
})
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...