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

时间:2016-02-13 10:37:16

标签: swift core-data nsdate nspredicate

我目前正在处理核心数据以存储膳食。我的实体是日期(日期),食物(字符串)和饮料(字符串)。现在我想提取过去七天储存的所有食物。我该怎么做?我知道我应该以某种方式使用NSPredicate,但我无法弄清楚究竟是怎么回事。

1 个答案:

答案 0 :(得分:3)

获取当前日历

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是核心数据属性

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