如何计算NSArray中的重复值?

我的NSArray价值包括重复。 我发现重复,但现在我怎么能find没有。 他们重复?

你可以使用NSCountedSet 。 将所有对象添加到计数集中,然后使用countForObject:方法来查明每个对象出现的频率。

例:

 NSArray *names = [NSArray arrayWithObjects:@"John", @"Jane", @"John", nil]; NSCountedSet *set = [[NSCountedSet alloc] initWithArray:names]; for (id item in set) { NSLog(@"Name=%@, Count=%lu", item, (unsigned long)[set countForObject:item]); } 

你可以尝试这样的事情

 __block NSInteger elementCount = 0; NSArray *array; [<#NSArray yourArray#> indexesOfObjectsPassingTest:^(id obj, NSUInteger idx, BOOL *stop){ if (obj == <#yourObject#>) { elementCount++; return YES; } return NO; }]; 

让我知道这是否适合你