简单实用的集合运算符
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"]);
网友评论