美文网首页
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