我正在尝试按日期范围对NSFetchedResultsController
的各个部分进行排序。
在我的Core Data模型中,我有一个可选的date属性,该属性将用于表视图的各个部分中。我想使表格视图的每个部分代表一个特定的日期范围。这是范围:
- 第0部分:日期为今天或今天之前的项目
- 第1节:带有明天日期的物品
- 第2 ... 7节:每节都是每天增加
- 第8节:没有日期的项目
我能够使用第二个称为“ items”的数组来完成此操作,而无需使用带有以下代码的NSFetchedResultsController
:
request.predicate = NSPredicate(format: "date <= %@",Date.getEndDate(dateIncrease: 0) as NSDate)
items[0] = try context.fetch(request)
for dayIncrease in 1 ... 6 {
request.predicate = NSPredicate(format: "date >= %@ && date <= %@",Date.getStartDate(dateIncrease: dayIncrease) as NSDate,Date.getEndDate(dateIncrease: dayIncrease) as NSDate)
items[dayIncrease] = try context.fetch(request)
}
request.predicate = NSPredicate(format: "date = nil")
items[7] = try context.fetch(request)
tableView.reloadData()
现在,我想将此逻辑转换为NSFetchedResultsController
,但是我没有运气。 NSFetchedResultsController
具有sectionNameKeyPath
属性的部分,但是我不能使用字符串来表示每个项目想要的日期范围。
有人可以按这个日期范围对我的表格视图部分进行排序吗?