gpt4 book ai didi

objective-c - 使用 CoreData 关系计算摘要

转载 作者:行者123 更新时间:2023-12-01 19:23:59 26 4
gpt4 key购买 nike

在我的对象图中,我在经典的父/子关系中有两个实体。每个 child 都有许多属性,但我感兴趣的是时间值(存储为 NSDate)。

所以我的父对象有一个“摘要”属性,它应该是它的组合子时间值的计算总和。简单地说:每个 child 存储一段时间,我希望 parent 显示所有 child 的总和。

我对 CoreData 有一定的经验,我可以很容易地想到一些方法来实现这一点(例如,在枚举子实体并使用 ivar 添加总数的父级上定义一个 transient 属性非常容易) - 但我想知道 CoreData 是否有一个固有且更优雅的解决方案......

最佳答案

有两种方法可以解决这个问题:
首先 - 将您的数据获取到 NSSet 或 NSArray 并使用 @sum 运算符:

//assume that `childs` are NSArray of your child entities and ammount is attribute to sum
NSNumber *sum=[childs valueForKeyPath:"@sum.ammount"];

第二个是使用特定的 fetch for specific value添加了 NSExpressionDescription一笔。这种方式更难,但对于更大的数据库更好

关于objective-c - 使用 CoreData 关系计算摘要,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8863500/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com