基本上我需要一个函数来计算数组中不同值的数量,另外一个函数来计算我数组中每个不同值的实际计数。
我有一个包含不断变化的数值的数组:
Array =(This,This,This,This,Is,Is,Is,Is,Is,It,It,It,it)
我想制作一个列表视图,每个部分应该包含不同的类别,如:
This
- Element 1
- Element 2
- ...
Is
- Element 1
- ...
It
- Element 1
- ...
所以我的部分数量需要 3 ,每个部分需要子元素的数量。
我怎样才能实现这一目标?有没有比for-statement更好的方法来计算每个部分的索引?
谢谢!
答案 0 :(得分:4)
将每个数组元素添加到NSCountedSet
。然后,集合的count
是您添加的不同对象的数量,您可以使用countForObject:
询问集合中每个不同对象的数量。
答案 1 :(得分:0)
首先,复制你的数组,以便使用。
要获取每个组的实际计数:您已复制的数组已经没有重复项,因此在复制的数组中进行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);
}