0

我有一系列联系人。这些联系人有一个电话对象的 NSSet,每个电话对象都有一个电话号码字符串。我想显示所有这些联系人,但我不希望显示重复号码的联系人。现在的问题是一些联系人有重复的号码,但也可能有一个额外的号码。换句话说,一个用户可能有 555-555-5555,而另一个用户可能有 555-555-5555 加上 666-666-6666。如何仅将具有两个号码的联系人添加到新的联系人数组中?有没有办法用 NSPredicate 或任何其他优雅的方式过滤数组,还是我必须使用一堆 for 循环?

我知道我可以将电话号码放入 NSSet,但我也希望能够显示联系人姓名,该姓名位于 Contact 对象中。

更简单地说,我希望能够过滤掉任何子集,或者只取包含该电话的最大集合。

4

1 回答 1

0

您应该能够执行以下操作:https ://stackoverflow.com/a/7491851/1009087 。

遍历所有联系人的数组,将值添加到 NSMutableSet。如果该值已存在于集合中,请将其从您的联系人数组中删除。

您必须遍历整个联系人列表,但每一步都是恒定的时间。只需将您的标识符设置为使每个联系人唯一的属性、姓名和电话号码的组合。

于 2013-07-06T03:09:33.173 回答