我有Event
模型與startDate
和endDate
。我想將這個事件分爲3類。使用基於時間的瞬態屬性與NSFetchedResultsController
- 電流:的startDate <今天<結束日期
- 即將來臨:今天<的startDate
- 過去:結束日期<今天
我做了名爲status
瞬態特性包含上述邏輯,並以此作爲參數在NSFetchedResultsController
NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: self.managedObjectContext, sectionNameKeyPath: "status", cacheName: nil)
當我運行時,我得到了這個錯誤告訴我使用節作爲排序描述符。
CoreData: error: (NSFetchedResultsController) The fetched object at index 2 has an out of order section name '1. Objects must be sorted by section name'
然後我在排序描述符中設置它,並得到這個錯誤,因爲瞬態不能用作排序描述符。
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'keypath status not found in entity '
問題是這樣的部分是從2種性質決定,所以它不能由只startDate
或endDate
,但兩者是排序。
解決此問題的最佳方法是什麼?我已經考慮讓這種狀態變成非暫時性的,但是這個值每天都會更新,我認爲讓它變成非瞬態是很奇怪的。