Теперь Кью работает в режиме чтения

Мы сохранили весь контент, но добавить что-то новое уже нельзя

Как сделать обновляющиеся графики на Swift (Swift Charts + Core Data)?

Всё перепробовал. Основная проблема: графики требуют тип данных Plottable. 
SwiftРазработка на ios+2
Даниил Артёменко
  ·   · 872
Piter Golds, Оценка ювелирных изделий и...  · 23 февр 2023
Для создания обновляющихся графиков на Swift с использованием Swift Charts и Core Data, вам необходимо следовать следующим шагам:
  1. Создайте модель данных Core Data, которая будет содержать данные для вашего графика. Убедитесь, что вы включили атрибуты для всех полей, которые будут использоваться в графике, и установите соответствующие типы данных (например, Double или Int).
  2. Создайте класс модели данных, который будет использоваться для работы с Core Data. Этот класс должен содержать методы для извлечения данных из базы данных Core Data и преобразования их в типы данных, которые могут быть использованы для построения графиков.
  3. Используйте библиотеку Swift Charts для создания графиков. Для этого вам нужно создать объект ChartView, добавить его на ваш View и настроить его в соответствии с вашими требованиями. Обычно графики Swift Charts требуют, чтобы данные были представлены в формате Plottable. Вы можете использовать методы вашего класса модели данных для преобразования ваших данных в Plottable формат.
  4. Чтобы обновлять данные на вашем графике, вы должны вызывать методы обновления ChartView с новыми данными в соответствии с вашими потребностями. Например, если вы хотите, чтобы график обновлялся каждый раз, когда добавляется новая запись в базу данных Core Data, вы можете использовать методы Key-Value Observing для отслеживания изменений в базе данных.
Вот примерный код, который демонстрирует, как можно обновлять данные на вашем графике:
swiftCopy code// создаем ChartView let chartView = ChartView(frame: CGRect(x: 0, y: 0, width: 300, height: 300)) // получаем данные из базы данных Core Data let data =fetchDataFromCoreData() // конвертируем данные в Plottable формат let plottableData =convertDataToPlottable(data) // добавляем данные на график chartView.add(plottableData)// обновляем график при изменении данных в базе данных Core DataNotificationCenter.default.addObserver(forName: .NSManagedObjectContextObjectsDidChange, object: managedObjectContext, queue: .main) { notification in let newData =fetchDataFromCoreData() let newPlottableData = convertDataToPlottable(newData) chartView.update(newPlottableData) }
Обратите внимание, что этот код приведен только в качестве примера и не является полным решением для обновляющихся графиков на Swift. Вам нужно будет настроить код в соответствии с вашими потребностями и требованиями.