gpt4 book ai didi

ios - 核心数据, "sorting by transient property"解决方法

转载 作者:技术小花猫 更新时间:2023-10-29 10:52:21 25 4
gpt4 key购买 nike

假设我有一个名为 Event 的核心数据实体,它表示经常性(每年)的事件。每个事件都有一个“日期”属性。

我需要将此事件呈现给按“下一次出现日期”排序的用户。当然,此属性取决于当前日期,因此应标记为transient:将其存储在数据库中没有意义。

但是,如您所知,您不能在 Core Data 中查询按 transient 属性的排序。

有没有一种聪明的方法可以让这个属性保持 transient 并且仍然对我进行核心数据排序?我不想自己获取然后排序,但我也想避免将此 transient 信息存储在数据库中。

最佳答案

如果您将日期存储在单独的实体中,那么您可以只获取日期并根据需要自行对它们进行排序。您将拥有从 Event 到 EventDate 的关系,以及一个对应的反向关系,让您可以从给定的 EventDate 中找到事件。

建议:在您的获取请求中指定一个排序描述符,以便您获得从年初开始排序的日期。然后您所要做的就是在返回的数组中找到当前日期,并将该点之前的所有内容移动到数组的末尾。

使 EventDate->Event 成为多对多的关系,因为可能会发生不止一个 Event 发生在同一日期。像这样设置您的模型为您提供了一个很好的属性,您可以轻松地回答“日期 X 发生了什么事件?”这个问题

关于ios - 核心数据, "sorting by transient property"解决方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5892450/

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