iOS 集合(NSArrray)运算符的使用

集合运算符是一个特殊的Key Path,作用于集合,可以作为参数传递给 valueForKeyPath: 方法
①简单集合运算符

         @avg,@count,@max,@min,@sum


②对象运算符
比集合运算符稍微复杂,能以数组的方式返回指定的内容,一共有两种:

          @distinctUnionOfObjects 
          @unionOfObjects


它们的返回值都是NSArray,区别是前者返回的元素都是唯一的,是去重以后的结果;后者返回的元素是全集。


例子:

       @interface Product
       @property (nonatomic,strong) NSString *name;
       @property (nonatomic)CGFloat price;
       @end
       //Product 数组
       NSArray *productList = ...
       //获得product总个数
       NSInteger count = [[productList valueForKeyPath:@"@count"] integerValue];
       //获得product价格总和
       CGFloat sumPrice = [[productList valueForKeyPath:@"@sum.price"] floatValue];
       //获得product价格平均值
       CGFloat sumPrice = [[productList valueForKeyPath:@"@avg.price"] floatValue];
       //获得product价格列表
       NSArray *priceList = [productList valueForKeyPath:@"@unionOfObjects.price"];

你可能感兴趣的:(iOS 集合(NSArrray)运算符的使用)