@tiger_13

Как правильно построить структуру бд для программы?

Пишу программу - читалку. Главная страница:
5d7128650caac510557777.png

Страницы:
Первая - главная.
Вторая - избранное.
Третье - глобальный поиск (через сервер).

На главной странице я показываю популярные (отдает тоже сервер) и недавние(слежу за пользователем).

Проблема состоит в том, что, я не знаю, как правильно построить модель для хранения данных о книг, так как:
1) у меня на главной странице два связанных (по смыслу uicollectionview), так как если пользователь выбирает в PopularCollectionview книгу, и делает ее избранной, то я хочу, чтобы и RecentCollectionView обновлялся (если в нем есть такая Cell(Книга), и чтобы она тоже была со звездочкой). Как это сделать?:
5d7129dc4b415820147260.png
2) я оперирую следующими массивами: allBooks(если пользователь просмотрит книгу с глобального поиска, она добавится в этот массив, так как как минимум в недавних она должна отобразиться), recentBooks (добавляем недавние), favoriteBooks(избранные), popularBooks (получаем с сервера). Возможно сделать одну entity в Core Data - allBooks. В ней будут следующие дополнительные переменные:
var isFavorite:Bool = false
var isRecent:Bool = false

Но как тогда быть с popularBooks, которые я гружу с сервера? Вписывать их в allBooks? Тогда элементы могут дублироваться.

Как построить модель? Помогите, пожалуйста! Возможно у кого-то уже был опыт построения таких программ.

P.S.
Что лучше использовать Realm или Core Data?
  • Вопрос задан
  • 97 просмотров
Решения вопроса 1
briahas
@briahas
ObjC, Swift, Python
Я бы брал Реалм. Проще.

Лучше иметь отдельные массивы моделек - все, избранное, недавнее.
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы