我对ioS dev相当新,所以这可能是显而易见的。
使用核心数据,我有一个实体:'发布' ,具有" dateAdded"的属性。
当用户在日历上选择NSDate时 - 我想仅获取当天的所有条目并将其加载到表格中。
我在考虑使用谓词,其中dateAdded(NSDate)将等于calendarSelectedNSDate。但是我不认为这会有效,因为他们的NSD由于时间的不同会有所不同。
我真的很感激解决方案!谢谢!
答案 0 :(得分:3)
使用NSCalendar
计算所选日期的开始和结束并创建谓词:
// get the current calendar
let calendar = NSCalendar.currentCalendar()
// get the start of the day of the selected date
let startDate = calendar.startOfDayForDate(calendarSelectedNSDate)
// get the start of the day after the selected date
let endDate = calendar.dateByAddingUnit(.Day, value: 1, toDate: startDate, options: NSCalendarOptions())!
// create a predicate to filter between start date and end date
let predicate = NSPredicate(format: "dateAdded >= %@ AND dateAdded < %@", startDate, endDate)