2015-06-24 51 views
0

我有一個核心數據管理類電話(實體名稱:phoneCall)的所有核心數據項(使用NSDate的)有一個NSDate屬性(屬性名:callTime)。如何有效地查詢或過濾週末(週六和週日)使用Swift進行的所有電話呼叫?查找發生在一個週末

回答

3

最有效的方法是在您的電話記錄中添加「dateIsWeekend」標誌或星期幾值並預先保存。然後基於此進行篩選。

這會花費一些額外的時間來設置您的數據,但會使查詢速度非常快。

另一種選擇是將計算屬性添加到NSManagedObject的子類中,告訴您日期是否在週末。該方法應該使用靜態NSCalendar對象和NSDateComponents對象來計算出來,以便在查詢時不會不斷創建對象。然後,您可以根據該計算屬性編寫查詢。