iOS之valueForKeyPath

2016-04-28  本文已影响2043人  handsome丶亮

使用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

上一篇 下一篇

猜你喜欢

热点阅读