从过去 7 天的核心数据中提取实体

Extract entity from last seven days core data

我目前正在使用核心数据来存储膳食。我的实体是日期 (Date)、食物 (string) 和饮料 (string)。现在我想提取过去 7 天存储的所有食物。我该怎么做?我知道我应该以某种方式使用 NSPredicate,但我不知道具体如何使用。

获取当前日历

let calendar = NSCalendar.currentCalendar()

获取当前日期

let now = NSDate()

从当前日期减去 7 天

let sevenDaysAgo = calendar.dateByAddingUnit(.Day, value: -7, toDate: now, options: [])!

获取 7 天前一天的开始时间

let startDate = calendar.startOfDayForDate(sevenDaysAgo)

创建谓词,字面量date是Core Data属性

let predicate = NSPredicate(format:"(date >= %@) AND (date < %@)", startDate, now)