Core data 计算行之间的CoreData查询

Core data 计算行之间的CoreData查询,core-data,swiftui,Core Data,Swiftui,我有一个CoreData实体——日期和距离的“列” e、 g 理想情况下,我希望拉出所有行(按日期排序)——每行计算这一行和下一行之间的天数,然后使用下一行的距离值,除以天数,计算覆盖了多少距离 e、 g 我不知道我应该在查询中还是在代码中这样做——我使用的是SwiftUI 我当前的代码只是通过一个fetch请求提取所有行,我不知道从这里去哪里 如果您能为我提供任何帮助或建议,或者您能为我指明正确的方向,我将不胜感激。请务必通过代码完成此操作。在实体中放入更多数据可能比每次都在运行中重新计算数据

我有一个CoreData实体——日期和距离的“列”

e、 g

理想情况下,我希望拉出所有行(按日期排序)——每行计算这一行和下一行之间的天数,然后使用下一行的距离值,除以天数,计算覆盖了多少距离

e、 g

我不知道我应该在查询中还是在代码中这样做——我使用的是SwiftUI

我当前的代码只是通过一个fetch请求提取所有行,我不知道从这里去哪里


如果您能为我提供任何帮助或建议,或者您能为我指明正确的方向,我将不胜感激。

请务必通过代码完成此操作。在实体中放入更多数据可能比每次都在运行中重新计算数据更干净。因此,每个实体都知道自己的开始和结束日期以及开始和结束距离

添加新实体时,只需使用其结束值更新前一个实体


您还可以有一个例程来检查所有内容,然后重新计算并保存。

显然,这应该通过代码来完成。首先,必须为
类创建扩展。在那里,您可以创建计算所需的属性/函数,并在UI中显示结果。但是对于
属性,最好将此类字段添加到您的
实体中,并立即对其进行计数,因为为了获得差值A和B,您必须执行对CoreData的额外调用,这可能会减少加载时间。
Date         Dist
---          ---
01/01/2020   20
07/01/2020   70
10/01/2020   60
Date         Dist Days     Dist   Miles per day
---          ---  ---      ---    ---
01/01/2020   20   7 days   70     10 miles per day
07/01/2020   70   3 days   60     20 miles per day
10/01/2020   60   NA       NA     NA