NSMutableArray があり、そこに「日」列があり、そこに含まれるデータの範囲が 0 ~ 4 であるとします。このような 5 つの行があるとします。
0
0
1
2
3
一意のアイテムの数を数えたいので、この場合、2 番目の 0 をカウントしないため 4 を返します。
ご協力いただきありがとうございます
どうですか[NSSet setWithArray:yourArray].count
。
配列がすでにソートされている場合は、「現在の」値を含む変数と、現在の値がインデックスの値と一致しないたびにインクリメントされるカウンターを維持しながら、配列を 1 回通過させることができます (そして、一致するように「現在の」値を更新します。これには、上記よりもわずかに多くのコード行が必要ですが、配列が十分に大きく、すべての配列要素からセットを構築することがパフォーマンス的に問題になるほど大きなタスクである場合、大幅に高速化されます。
それは簡単です。やりたいことは、配列内の重複するアイテムを削除し、一意のアイテムの数を取得することです。これは、NSSet と NSMutableArray を使用して実行できます。
[uniqueArray addObjectsFromArray:[[NSSet setWithArray:duplicateArray] allObjects]];
[uniqueArray count];
この助けを願っています