如何在NSPredicate中替换@max:function for Core Data

时间:2014-03-20 15:13:53

标签: ios core-data nspredicate

我有一个Core Data模型,其中Session与具有timestamp属性的Activity有关系。 Session是Group的一部分,如下所示:

A-> 1 2 3 4 5 6 7 8 9
B1  X 1 1 1 X 1 1 1 1
B2  X X Y 2 X 2 2 2 2
B3  3 X 3 3 3 3 3 3 3 

所以,这里的组是A1,A2等,Session是A1B1,A1B2等.A之后的这个数字是group.order,B之后的数字是session.order(在数据模型中)。 我使用X标记了已完成活动的会话,最后一个标记为Y(A3B2)的会话。

很明显,会话可以按客户要求进行,没有强制要求。我需要的是一个谓词,它将在最后一个完成之后给我下一个会话。在上面的例子中,那将是A3B3。

我试过这个,但它不适用于Core Data(不支持的聚合函数......)

[NSPredicate predicateWithFormat:@"activity = nil AND 
   group.order >= activity.timestamp.@max.session.group.order AND
   order > activity.timestamp.@max.session.order"]

我实际上不确定它是否是正确的谓词,但没关系,它因为@max而崩溃所以没有多详细说明。我试图弄清楚如何使用SUBQUERY做到这一点,但没有运气。

0 个答案:

没有答案