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. 要计算不同的值,请从复制的数组中删除所有重复项,copyArray.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 回答