是否可以应用
NSSortDescriptor
在从核心数据获取时调查两个(或更多!)键?
目前我们获取对象并通过研究两个值在内存中对它们进行排序。我们将这两个值与计算属性结合起来,就像下面想象的示例一样:
struct ObjectWithDates {
var date1: Date
var date2: Date
var dateForSorting: Date {
[date1, date2].max()
}
}
...Example usage...
NSSortDescriptor(key: "dateForSorting", ascending: false)
是否可以在核心数据获取期间有效地执行此操作?我曾尝试在核心数据实体上使用派生属性,但无法让系统识别“max”函数。还有其他可以尝试的东西吗?也许可以使用 NSExpression 以编程方式尝试?谢谢!
不,这是不可能的。您必须保留
dateForSorting
并在修改 date1
和 date2
时更新它。
不过这是一个流行的想法;)