简单粗暴的iOS数组求和

      遇到求和、平均值、最大最小值等相关的需求,我们通常的做法就是for循环。其实iOS系统API已经为我们提供了非常简便的方法,来来来,跟着我来看一看。

        首先我们定义一个数组:

</pre>      <pre name="code" class="objc">NSArray *array= [NSArray arrayWithObjects:@"1",@"2",@"2.3",@"3.0",@"4.0",@"10",nil];

CGFloat sum = [[array valueForKeyPath:@"@sum.floatValue"] floatValue];

CGFloat avg = [[array valueForKeyPath:@"@avg.floatValue"] floatValue];

CGFloat max =[[array valueForKeyPath:@"@max.floatValue"] floatValue];

CGFloat min =[[array valueForKeyPath:@"@min.floatValue"] floatValue];


        通过以上方法,完美获取到array的各种统计值。

        那么问题来了,如果是自定义的对象数组,如何获取这些统计值呢?比如前几期文章我们自定义的Person:

@interface Person

@property NSString *name;

@property NSInteger age;

@end

         假设某个班级有很多学生,我们将这些学生的信息都存到数组personArray,然后获取这些Person的平均年龄,最大最小年龄,方法是:

         [[personArray valueForKeyPath:@"@avg.age"] integerValue];

          [[personArray valueForKeyPath:@"@max.age"] integerValue];

         [[personArray valueForKeyPath:@"@min.age"] integerValue];



原文链接:http://www.jianshu.com/p/7d184d68b0d5
 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值