2012-07-06 50 views
0

我有一个包含日期的核心数据实体(例如2011-03-30,2011-06-30,2011-09-30)。组合谓词以获得低于常量的最大值

您如何建议我指定一个NSPredicate以获取指定日期(2011-08-17)以下的最大日期,例如:像date <= 2011-08-17 AND date = @max这样的查询应该返回2011-06-30(这是最高的日期,但不会超过给定的日期)。

请问您可以帮我一下吗?

谢谢!

回答

1

您可以使用简单的less-than-or-to-to谓词,将order设置为递减并将fetch配置为仅返回单个结果。

+0

如果在同一日期有两个日期会发生什么?当请求只返回一个结果时,哪一个会被提取? – AlexR 2012-07-07 10:34:24

+0

@AlexR将返回实际的较晚日期(具有较晚时间的日期)。如果两个具有完全相同的日期/时间,则它将是未定义的。你会得到一个或另一个。但是因为你要求返回一个日期,所以没关系。如果它确实很重要,那么您必须选择其他项目以及日期和顺序。 – 2012-07-07 17:39:38