美文网首页
iOS之valueForKeyPath

iOS之valueForKeyPath

作者: handsome丶亮 | 来源:发表于2016-04-28 11:08 被阅读2043次

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

相关文章

网友评论

      本文标题:iOS之valueForKeyPath

      本文链接:https://www.haomeiwen.com/subject/arqhrttx.html