Как мне подойти к проблеме сохранения данных, отображаемых в табличном представлении?

#ios #xcode #uitableview

#iOS #xcode #uitableview

Вопрос:

Это скриншот моего приложения, которое собирает статьи в формате json из newsAPI. Я хочу реализовать функцию, которая сохраняет, удаляет и сохраняет данные с помощью CoreData. Каков наилучший способ решения этой проблемы? [Приложение для просмотра таблиц]: https://i.stack.imgur.com/TGayE.jpg

Ответ №1:

Прочитайте руководство о том, как добавить CoreData в ваше приложение. И всегда полезно читать документацию Apple.

Добавьте один объект CoreData с атрибутами: изображение, автор, описание, дата, URL, … (CoreData имеет функцию для хранения больших (r) объектов данных, таких как изображения, во внешних файлах. Не беспокойтесь об этом; просто сохраните данные ваших изображений внутри объекта. Ваши изображения не будут очень большими, их будет не очень много, и у вас не будет проблем с производительностью.)

Используется NSFetchedResultsController для заполнения таблицы.

Добавьте логику выпадающего списка для обновления / перезагрузки в таблицу.

Затем вам нужно будет изменить поток данных вашего приложения: слой, который собирает статьи, теперь будет записывать данные в CoreData. Теперь таблица будет обновляться автоматически (с помощью NSFetchedResultsController ) при изменении ваших данных. Предполагая, что теперь вы просто обновляете всю таблицу, с помощью CoreData вам нужна проверка для фильтрации полученных новостей, которые вы уже сохранили (просто чтобы избежать дублирования при каждой перезагрузке).

При фильтрации дубликатов статей имейте в виду, что некоторые поля могут быть обновлены. Таким образом, ваша логика поиска дубликатов должна быть немного более разумной, чем просто сравнение полей элементов в CoreData и полученных элементов.

Комментарии:

1. Спасибо. Должен ли я сохранять объекты как дополнительные?