KVC中的集合运算符

简单实用的集合运算符

KVC中的集合运算符有以下三类:

1、简单集合运算符:@avg、@sum、@max、@min、@count (只能用在集合对象中,对象属性必须为数字类型)

2、对象操作符:

@unionOfObjects:返回指定属性的值的数组,不去重

@distinctUnionOfObjects:返回指定属性去重后的值的数组

3、数组 / 集体操作符:跟对象操作符很相似,只不过是在NSArray和NSSet所组成的集合中工作的。

@unionOfArrays:返回一个数组,值由各个子数组的元素组成,不去重

@distinctUnionOfArrays:返回一个数组,值由各个子数组的元素组成,去重

@distinctUnionOfSets:和@distinctUnionOfArrays差不多, 只是它期望的是一个包含着NSSet对象的NSSet,并且会返回一个NSSet对象。因为集合不能有重复的值,所以只有distinct操作。

NSArray *arr = @[@1,@2,@3,@4,@5,@-1,@-2,@-3,@2];

NSLog(@"avg:%@",[arr valueForKeyPath:@"@avg.self"]);

NSLog(@"count:%@",[arr valueForKeyPath:@"@count.self"]);

NSLog(@"max:%@",[arr valueForKeyPath:@"@max.self"]);

NSLog(@"min:%@",[arr valueForKeyPath:@"@min.self"]);

NSLog(@"sum:%@",[arr valueForKeyPath:@"@sum.self"]);

NSLog(@"unionOfObjects:%@",[arr valueForKeyPath:@"@unionOfObjects.self"]);

NSLog(@"distinctUnionOfObjects:%@",[arr valueForKeyPath:@"@distinctUnionOfObjects.self"]);

你可能感兴趣的:(KVC中的集合运算符)