我有一个简单的UITableView应用程序,带有1个核心数据实体和NSFetchedResultsController。我有2个部分由FRC自动拆分:
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)
在ViewController中:
func numberOfSectionsInTableView(tableView: UITableView) -> Int {
return fetchedResultsController.sections!.count
}
这两个部分按[sortDescriptor,sortByStartDate]。
排序问题: 什么是最简单的方法(我是编程中的新手)用另一个NSSortDescriptor对第二部分进行排序还是只是排序不同?
感谢您的帮助!
答案 0 :(得分:0)
取决于您如何处理尚未完成的项目。如果他们有endDate
NULL
他们没有相对排序。因此,您可以在获取请求中添加第三个排序描述符,以便在第二部分中进行排序。
否则我会将设置更改为使用第二个NSFetchedResultsController
,因此每个部分都有一个。在两者上使用谓词来过滤finished == true
或finished == false
。