Я уже видел несколько вопросов по этой теме, но я бы хотел задать свой.
Меня интересует, как работает Tinder, и я пытаюсь создать нечто подобное. Вот что я думаю, что произойдет во время прокрутки:
Необходимо отслеживать каждый удар до
- Не отображать того же пользователя
- Матчи
При движении влево
- Хранить идентификатор пользователя в
swipedArray
На правом пролистывании
Хранить идентификатор пользователя в swipedArray
Проверьте, существует ли Match
. Если существует, установите Match
pending в false. В противном случае создайте новый Match
с pending = true.
Чтобы получить пользователей в радиусе
- Запрос n пользователей в радиусе, не указанном в
swipedArray
Или другим способом может быть сохранение правых и левых в двух разных массивах. Проведя правой кнопкой мыши, проверьте, есть ли у вас удостоверение личности. Если это так, создайте Match
.
В классе User
я бы сохранил swipedArray
. Будет ли это хороший способ начать. Tinder получает коллективных 1,7 млрд. Ударов в день , и моя первоначальная идея заключалась в том, чтобы иметь класс Swipe
для хранения всех левых и правых ударов, но я не думаю, что это будет хорошо масштабироваться (сначала нужно найти пользователь проводит пальцами, чем запрос пользователей в радиусе, который не содержится в этих данных). Является ли хранение всех пользовательских свипов в массиве хорошим решением? Если нет, то будет ли хорошим решением начать? И что, по вашему мнению, является лучшим решением для масштабирования?