Я пытаюсь создать социальное приложение для iOS, где пользователи могут отправлять сообщения и нравится.
Я сделал сообщение для загрузки приложения и новостей, со следующим фактором:
поэтому самый любимый пост на вершине.
Я также использую пейджинг, поэтому, если пользователь прокручивает вниз, он загружает больше сообщений.
Проблема в том, что если между тем, загружая сообщения, некоторые сообщения получают больше симпатий, тогда он может вернуть неверный порядок, + некоторые сообщения могут отсутствовать в результатах.
Например, в этом случае пейджинг загружает только 2 сообщения.
Полная база данных:
POST A: 10 likes
POST B: 8 likes
POST C: 7 likes
POST D: 6 likes
Открытие приложения
Приложение загружает следующие данные:
POST A: 10 likes
POST B: 8 likes
Предположим, что POST C
получил +10 больше нравится тем временем
(Последний увиденный пост - B)
После загрузки более 2 сообщений приложение имеет следующие данные:
POST A: 10 likes
POST B: 8 likes
POST D: 6 likes
Как я могу это исправить?
Если вы загружаете записи, и они могут меняться, возможно, это не лучший подход. Потому что POST C будет победителем после того, как +10 понравится, поэтому он не будет отображаться во второй загрузке.
Было бы хорошо, если бы вы показали это так?
Если это позитивно, то вы можете сделать свой запрос по дате, нравится и не только понравится. Потому что, если ваша предпосылка заключается в том, чтобы показать ее как "нравится рейтинг", вы не можете предположить, что значения могут измениться между тем. Единственный способ добиться этого - это загрузить все ранжирование один раз, а затем пейджинг между записями без проблем с изменениями.