Может быть, это может поможет вам:
NSArray *yourarray = [NSArray arrayWithObjects:@"X", @"Y", @"Z", nil];
NSCountedSet *yourset = [[NSCountedSet alloc] initWithArray:yourarray];
for (id item in yourset) {
NSLog(@"Count of %@ is %lu", item, (unsigned long)[yourset countForObject:item]);
}
Это может быть пример NSPredicate (не пытался, потому что я писал в TextMate):
NSDictionary *dic1 = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:99] forKey:@"visitCount"];
NSDictionary *dic2 = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:2] forKey:@"visitCount"];
NSDictionary *dic3 = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:1003] forKey:@"visitCount"];
NSDictionary *dic4 = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:1005] forKey:@"visitCount"];
NSDictionary *dic5 = [NSDictionary dictionaryWithObject:[NSNumber numberWithInt:107] forKey:@"visitCount"];
NSArray *array = [NSArray arrayWithObjects:dic1, dic2, dic3, dic4, dic5, nil];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF.visitCount == %@[email protected]", array];
NSArray *result = [array filteredArrayUsingPredicate:predicate];
NSLog(@"Max in objects: %@", result);
не хватает знаний Разберите, чтобы узнать, есть ли хороший способ сделать это в запросе, но если вы можете получить все значения, вы можете поместить их в NSCountedSet и запросить, что для элемента с наибольшим количеством. – rdelmar
отличный отличный ответ, спасибо огромное! – SleepsOnNewspapers