如何获得使用NSPredicate的最大值?

S.J*_*Lim 2 objective-c

我想从下面的代码中获取最大值.

是否可以在NSPredicate中使用像'max()'这样的函数?

#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;
}
Run Code Online (Sandbox Code Playgroud)

ber*_*ium 8

只需使用KVO KVC

NSNumber *result = [array valueForKeyPath:@"@max.intValue"];
Run Code Online (Sandbox Code Playgroud)

  • 它实际上是KVC,而不是KVO. (3认同)