我有一个Core Data托管类电话(实体名称: phoneCall ),其中包含NSDate属性(属性名称: callTime )。如何使用Swift有效查询或过滤周末(周六和周日)的所有电话?
答案 0 :(得分:3)
最有效的方法是在您的电话记录中添加“dateIsWeekend”标志或工作日值并预先保存。然后根据它进行过滤。
花费一些额外的时间预先设置数据,但查询速度非常快。
另一种选择是向NSManagedObject的子类添加一个计算属性,告诉您日期是否在周末。该方法应该使用静态NSCalendar对象和NSDateComponents对象来计算它,这样您在进行查询时就不会不断创建对象。然后,您可以根据该计算属性编写查询。