2012-02-01 3 views
2

Я хочу получить максимальное значение из-под кода.Как получить максимальное значение при использовании NSPredicate?

Возможно ли использование функции типа max() в NSPredicate?

#import <Foundation/Foundation.h> 

int main (int argc, const char * argv[]) 
{ 

    @autoreleasepool { 

     NSNumber *number1 = [[NSNumber alloc]initWithInt:10]; 
     NSNumber *number2 = [[NSNumber alloc]initWithInt:20]; 
     NSNumber *number3 = [[NSNumber alloc]initWithInt:30]; 
     NSMutableArray *array = [[NSMutableArray alloc]initWithObjects:number1, number2, number3, nil]; 

     NSArray *result = [array filterUsingPredicate:<#(NSPredicate *)#> <= How to get a max value? 

    } 
    return 0; 
} 
+0

http://stackoverflow.com/questions/6515167/using-min-max-and-etc-inside-a-predicate – Sarah

+0

возможно дубликат [Поиск максимального числового значения в NSArray] (http://stackoverflow.com/questions/3080540/finding-maximum-numeric-value-in-nsarray) – FreeAsInBeer

ответ

8

Просто используйте КВО КВЦ

NSNumber *result = [array valueForKeyPath:@"@max.intValue"]; 
+3

Это на самом деле KVC, а не KVO. –

+0

И вот [Документация по сборщикам кодирования ключевого значения] (https://developer.apple.com/library/ios/documentation/Cocoa/Conceptual/KeyValueCoding/Articles/CollectionOperators.html) –

Смежные вопросы