我的NSArray
中包含重复的值。
我已经找到了这些重复的值,但是如何确定它们重复了多少次?
我的NSArray
中包含重复的值。
我已经找到了这些重复的值,但是如何确定它们重复了多少次?
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;
}];
如果这对你有用,请告诉我。
[[NSSet setWithArray:duplicateElements] allObjects];
方法。 - Aurum Aquila