【发布时间】:2017-05-31 03:59:43
【问题描述】:
var locationsArray = [StudentLocation]()
我有一个 StudentLocations 数组,我试图阻止任何可能来自同一个人的对象出现在数组中。
人们可以在数据库中发布有关其姓名/位置/个人资料 URL 等信息的帖子
根据数据库的设置方式,人们可以根据需要在同一位置以相同名称多次转发,因此一个用户可能会向用户名添加 10 个相同的帖子。
这些帖子中的每一个都将有不同的 UID,但如果家庭位置(纬度/经度)和名称完全相同,我认为我可以相当确信两个帖子来自同一用户。
如果主位置/名称与阵列中已有的另一个位置相同,防止将位置附加到阵列的最佳方法是什么?
【问题讨论】:
-
如果您将 Equatable (==) 协议添加到 StudentLocation,您可以定义逻辑以确定两个对象是否相等,然后使用 Set 或 contains 方法过滤重复项。