0

基本的に、配列内の異なる値の量をカウントする関数と、配列内の異なる各値の実際のカウントを取得する別の関数が必要です。

変化する量の値を含む配列があります。

配列 = (これ、これ、これ、これ、ある、ある、ある、ある、ある、それ、それ、それ、それ)

リストビューを作成したいのですが、各セクションには次のようなさまざまなカテゴリが含まれている必要があります。

This
- Element 1
- Element 2
- ...
Is
- Element 1
- ...
It
- Element 1
- ...

したがって、セクションの数と各セクションの子要素の数には3が必要です。

どうすればそれを達成できますか?各セクションのインデックスをカウントする for ステートメントよりも良い方法はありますか?

ありがとうございました!

4

2 に答える 2

4

各配列要素を に追加しNSCountedSetます。次に、countセットの は、追加した個別のオブジェクトの数であり、 を使用countForObject:して、各個別のオブジェクトがいくつあるかをセットに問い合わせることができます。

于 2012-08-08T09:24:12.707 に答える
0

まず、配列のコピーを作成して作業します。

  1. 異なる値をカウントするには、コピーした配列からすべての重複を削除すると、copyedArray.count が必要なものを教えてくれます。(重複を削除する方法を自分で検索してください)。
  2. 各グループの実際の数を取得するには: コピーされた配列にはすでに重複がないため、コピーされた配列内で for ループを作成します。

    for (NSString *stringer in copiedArrayWithoutDuplicates){

       int counter = 0;
       for(NSString *iniStr in initialArrayWithDuplicates){
          if([stringer isEqualToString: iniStr]){
              counter++;
          }
       }
       NSLog(@"string %@ was detected %i times", stringer, counter);
    }
    
于 2012-08-08T09:24:02.050 に答える