iOS之valueForKeyPath

使用valueForKeyPath

今天要说的是valueForKeyPath方法,而不是数组取值的valueForKey方法哦!大家不要弄错了。

需求一(计算总合):假设一个数组中存放着若干个实体类:A

A中有id,name,grade这三个属性,现在需要计算grade的总合。

代码实现:

NSArray*gradeTotal=[dataSourcevalueForKeyPath:@"@unionOfObjects.grade"];NSNumber*sumGrade=[gradeTotal valueForKeyPath:@"@sum.floatValue"];

实现的原理是,先将数组中实体类中的一个属性提取成一个新数组,然后还是通过valueForKeyPath的函数进行计算。

需求二(剔除重复数据):还是上面那个数组,现在需要剔除重复的名字

代码实现:

NSArray *nameDistinctArray = [gradeTotal valueForKeyPath:@"@distinctUnionOfObjects.name"]);

很强大吧?告别for循环,告别臃肿,告别低效。

其他更详细的功能就不在赘述了,上链接:

http://www.thinksaas.cn/topics/0/347/347021.html

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容