我正在嘗試創建一個填充選定日期(特別是yesterday
,today
和tomorrow
)的對象的UITableView
。在我的CoreData模型中,作爲屬性date with type
日期的有問題的實體。如何將FetchedResultsController限制爲給定日期中的對象
要獲得yesterday
,today
和tomorrow
我這樣做(如this WWDC session規定):
var today = Date()
var yesterday = calendar.date(byAdding: .day, value: -1, to: self.date)
var tomorrow = calendar.date(byAdding: .day, value: 1, to: self.date)
,並執行:
today = calendar.startOfDay(for: today)
yesterday = calendar.startOfDay(for: yesterday)
tomorrow = calendar.startOfDay(for: tomorrow)
一旦我得到的所有日期的,我不不知道該怎麼做。目前我獲取結果控制器的樣子:
lazy var fetchedResultsController: NSFetchedResultsController<Entry> = {
let fetchRequest: NSFetchRequest<Entry> = Entry.fetchRequest()
// Configure Fetch Request
fetchRequest.sortDescriptors = [NSSortDescriptor(key: "name", ascending: true)]
// Create Fetched Results Controller
let fetchedResultsController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: app_delegate.persistentContainer.viewContext, sectionNameKeyPath: nil, cacheName: nil)
// Configure Fetched Results Controller
fetchedResultsController.delegate = self
return fetchedResultsController
}()
如何限制fetchedResultsController
這些日期之一,如果可能,我做我使用Calendar
S分析它:isDateInToday()
?
您會希望在提取請求上使用謂詞('NSPredicate'),但具體取決於您希望如何使用這些日期。從昨天到明天?從昨天到今天? –
這將是三個獨立的視圖控制器,每個分別代表昨天,今天和昨天的所有條目。 – jjatie