我已经看到有关此主题的多个问题,但我想问自己一个问题。 我对Tinder的工作方式感兴趣,并正在尝试创建类似的东西。我认为这是在滑动过程中会发生的情况:
需要跟踪每次刷卡
向左滑动
swipedArray
向右滑动
将用户ID存储在swipedArray
检查是否存在Match
。如果存在,请将Match
pending设置为false。否则,创建一个新的Match
,其待定= true。
在半径范围内吸引用户
swipedArray
中未包含的半径内的n个用户或者另一种方式是将向右滑动和向左滑动存储在两个不同的数组中。右滑动,检查您的ID是否在该人的右滑动中。如果是这样,请创建一个Match
。
在User
类中,我将存储swipedArray
。这是一个好的方法吗? Tinder获得a collective 1.7 billion swipes per day,我的最初想法是要拥有一个Swipe
类来存储所有向左滑动和向右滑动,但是我认为扩展性不好(首先必须找到用户滑动而不是查询半径内的用户(未包含在这些滑动中)。将所有用户存储在阵列中是否是一个好的解决方案?如果没有,那将是一个好的解决方案吗?您认为扩展的最佳解决方案是什么?