查找周末发生的所有核心数据条目(使用NSDate)

时间:2015-06-24 16:05:37

标签: ios swift core-data nsdate

我有一个Core Data托管类电话(实体名称: phoneCall ),其中包含NSDate属性(属性名称: callTime )。如何使用Swift有效查询或过滤周末(周六和周日)的所有电话?

1 个答案:

答案 0 :(得分:3)

最有效的方法是在您的电话记录中添加“dateIsWeekend”标志或工作日值并预先保存。然后根据它进行过滤。

花费一些额外的时间预先设置数据,但查询速度非常快。

另一种选择是向NSManagedObject的子类添加一个计算属性,告诉您日期是否在周末。该方法应该使用静态NSCalendar对象和NSDateComponents对象来计算它,这样您在进行查询时就不会不断创建对象。然后,您可以根据该计算属性编写查询。