如何根据来自多个 Core Data 属性的计算值进行排序

Posted

技术标签:

【中文标题】如何根据来自多个 Core Data 属性的计算值进行排序【英文标题】:How to sort based on a calculated value from multiple Core Data attributes 【发布时间】:2012-08-13 03:11:13 【问题描述】:

我正在尝试为核心数据获取请求创建一个排序描述符,它将获取按计算值排序的对象(例如,两个或多个属性的总和)。这可能吗?提前致谢。

【问题讨论】:

【参考方案1】:

来自“核心数据编程指南”:

您无法使用基于瞬态属性的谓词进行获取 (尽管您可以使用瞬态属性在内存中进行过滤 你自己)。 ... 到 总结,不过,如果你直接执行 fetch,你应该 通常不会将基于 Objective-C 的谓词或排序描述符添加到 获取请求。相反,您应该将这些应用于 获取。

因此按计算值排序似乎是不可能的。您必须预先计算排序值并将其作为(非瞬态)属性存储在您的对象中。

【讨论】:

以上是关于如何根据来自多个 Core Data 属性的计算值进行排序的主要内容,如果未能解决你的问题,请参考以下文章

在单个 NSTableView (Core-Data) 中显示来自多个实体的数据

仅获取共享特定属性值的 Core Data 对象

如何根据相关对象集合的属性对 Core Data 结果进行排序?

Core Data 和 Swift 中的计算属性与持久存储

检查 Core Data managedObject 中的多个 nil 值?

Spark:如何从具有属性的多个嵌套 XML 文件转换为 Data Frame 数据