你还在写for循环求和吗?

        相信每个程序员都会遇到求和、平均值、最大最小值等相关的需求,通常的做法就是for循环。在iOS开发中,系统API为我们提供了非常简便的方法,我们来一睹为快。

        首先我们定义一个数组:

NSArray *array= [NSArray arrayWithObjects:@"2.0",@"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]; 

       后续,我会将项目开发中的很多技巧记录下来,供需要的童鞋参考,让大家少走一些弯路,感谢您的持续关注。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • (一)valueForKeyPath的使用 valueForKeyPath和valueForKey有一些类似,但...
    追寻之路阅读 4,082评论 0 2
  • KVC(Key-value coding)键值编码,单看这个名字可能不太好理解。其实翻译一下就很简单了,就是指iO...
    朽木自雕也阅读 5,535评论 6 1
  • 引自:http://m.blog.csdn.net/article/details?id=52180380 记录一...
    雪_晟阅读 2,934评论 0 0
  • 通过自己开发以及借鉴的别人的经验,总结一下一些开发中经常用到的技巧知识点,也算是做个小笔记吧。 1、控件的局部圆角...
    男儿心阅读 4,278评论 0 1
  • 问答作业:(答案写的真好 给我自己的笔记补充了不少) 1.什么是css语法?Css语法有两部分组成:选择符和声明;...
    咖啡和烟阅读 3,411评论 1 1

友情链接更多精彩内容