具有谓词的核心数据获取请求。需要正确的NSPredicate

时间:2013-10-13 15:09:21

标签: objective-c core-data nsdate nspredicate nsfetchedresultscontroller

我获得了两个 NSDate属性的实体。他们在这里:startTime, endTime和两个限制,它们也在这里:NSDate *begin, NSDate *end

但问题是endTime可以是

我需要获取所有实体:

(entity.startTime >= begin) AND (entity.endTyme == nil)

if(endType == nil)

(entity.startTime >= begin) AND (entity.endTyme <= end)

if(endTyme!= nil)

如何从这两个fetch谓词中建立联合?或者也许使用过滤器?

2 个答案:

答案 0 :(得分:1)

您的设置和谓词是正确的。检查您的数据,您将发现谓词按预期工作。

答案 1 :(得分:0)

备注:您已经多次编辑过您的问题了。我最好追加 有关您的问题的新信息,否则评论和答案很难 了解未来的读者。)

要获取开始时间>给定时间的所有对象,结束时间为nil &lt; =给定时间,您可以使用谓词

[NSPredicate predicateWithFormat:@"(startTime >= %@) AND (endTime == nil OR endTime <= %@)",
       startTime, endTime]