【发布时间】:2011-09-10 16:15:44
【问题描述】:
我有一个核心数据模型如下 1.任务实体:属性objDueDate、关系objRecurrence等。 2. Recurrence Entity:属性objEndDate、objStartDate、Relationship tasks等
Task 与 Recurrence 具有多对一的关系。 Recurrence 与 Task 具有反向的一对多关系。我希望通过如下编写 NSFetchRequest 谓词来查询循环序列的最后一个任务
NSPredicate* lobjPredicate = [NSPredicate predicateWithFormat:"objDueDate == objRecurrence.tasks.@max.objDueDate"]
这失败并显示错误提示
由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“无法为谓词生成 SQL (objDueDate == max:(objRecurrence.tasks.objDueDate))
谁能解释一下为什么这不起作用?
提前谢谢....
场景说明:
我希望显示按类别排序的任务。我还强制规定,如果您将任务设为重复,则重复中的所有任务将共享同一类别。现在有两组任务:一组重复,一组不重复。现在在重复序列中(比如说 A),我只想向用户呈现一个任务。如果序列中的所有任务都已标记为已完成,那么我希望将最后完成的任务呈现给用户。如果序列中的某些任务已被标记为已完成,那么我希望向用户展示第一个未完成的任务。
我该如何解决这个场景???
【问题讨论】:
标签: iphone subquery nspredicate