0

私は連絡先の配列を持っています。これらの連絡先には Phone オブジェクトの NSSet があり、各 phone オブジェクトには phoneNumber 文字列があります。これらの連絡先をすべて表示したいのですが、番号が重複している連絡先は表示したくありません。現在の問題は、一部の連絡先の番号が重複していることですが、追加の番号もある可能性があります。つまり、あるユーザーは 555-555-5555 を使用し、別のユーザーは 555-555-5555 と 666-666-6666 を使用する場合があります。2 つの番号を持つ連絡先だけを新しい連絡先配列に追加するにはどうすればよいですか? NSPredicate またはその他のエレガントな方法で配列をフィルタリングする方法はありますか、それとも一連の for ループを使用する必要がありますか?

電話番号を NSSet に入れるだけでよいことはわかっていますが、Contact オブジェクトにある連絡先の名前も表示できるようにしたいと考えています。

もっと簡単に言えば、サブセットを除外したり、その電話を含む最大のセットを取得したりできるようにしたいのです。

4

1 に答える 1

0

次のようなことができるはずです: https://stackoverflow.com/a/7491851/1009087

NSMutableSet に値を追加して、すべての連絡先の配列を反復処理します。値がセットに既に存在する場合は、連絡先の配列から削除します。

連絡先のリスト全体を反復する必要がありますが、各ステップは一定の時間です。各連絡先、名前、電話番号を一意にするプロパティの組み合わせになるように識別子を設定するだけです。

于 2013-07-06T03:09:33.173 に答える