如何为NSFetchedResultsController的不同部分使用不同的NSSortDescriptor?(swift)
我有一个简单的UITableView应用程序,有1个核心数据实体和NSFetchedResultsController。我有两个由FRC自动拆分的部分:如何为NSFetchedResultsController的不同部分使用不同的NSSortDescriptor?(swift),swift,uitableview,nsfetchedresultscontroller,Swift,Uitableview,Nsfetchedresultscontroller,我有一个简单的UITableView应用程序,有1个核心数据实体和NSFetchedResultsController。我有两个由FRC自动拆分的部分: let sortDescriptor = NSSortDescriptor(key: "finished", ascending: true) let sortByStartDate = NSSortDescriptor(key: "endDate", ascending: true) fetchRequest.sortDescriptors
let sortDescriptor = NSSortDescriptor(key: "finished", ascending: true)
let sortByStartDate = NSSortDescriptor(key: "endDate", ascending: true)
fetchRequest.sortDescriptors = [sortDescriptor, sortByStartDate]<br/>
fetchedResultsController = NSFetchedResultsController(fetchRequest: fetchRequest, managedObjectContext: managedObjectContext, sectionNameKeyPath: "finished", cacheName: nil)
这将按[sortDescriptor,sortByStartDate]对两个部分进行排序
问题:
用另一个NSSortDescriptor对第二部分进行排序或只是以不同方式排序,最简单的方法是什么(我是编程新手)
谢谢你的帮助 取决于您如何处理尚未完成的项目。如果它们有一个
endDate
,即NULL
,则它们没有相对排序。因此,您可以在第二部分的fetch请求中添加第三个排序描述符进行排序
否则,我会将设置更改为使用第二个NSFetchedResultsController
,这样每个部分都有一个。在两者上使用谓词来筛选finished==true
或finished==false
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return fetchedResultsController.sections!.count
}