2012-07-06 52 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