NSFetchedResultsController的顺序应该不会改变
  我有一个NSFetchedResultsController (或NSFRC)这确实是非常标准的; 
NSDate字段排序(降序) 接下来数据得到更新:
NSFRC很好地将更改传递给TableView, 除了顺序更改 。 reloadData() ,数据更改,则顺序不变。 我希望代表例如交换第一和第二行,因为第二行的日期值现在高于第一行。
  如果我重新打开ViewController(因此在新的VC和NSFRC上再次执行提取操作),顺序会按预期更改。  但那对用户来说只有直觉。 
任何人都可以请指点我到可能的地方去寻找我的错误吗?
只是重申一下:
这里有两个截图,第二行(日期)也是排序顺序。 第二张图片显示更新的数据,但排序顺序错误。
之前

后

  当你的数据发生变化时,你可能需要NSFRC并让它做到这一点。  例如。  可以说,你有一个功能可以改变你的物品的顺序。  如果你使用标准的Apple代码,你应该有这样的东西 
func updateSort () {
    _fetchedResultsController = nil //Here is the magic
    tableView.reloadData()
}
// MARK: - Core Data
var fetchedResultsController:NSFetchedResultsController {
    if _fetchedResultsController != nil {
        return _fetchedResultsController!
    }
    // do your basic initialization and set the delegate and return it
    return _fetchedResultsController!
}
 var _fetchedResultsController: NSFetchedResultsController? = nil
上一篇: NSFetchedResultsController order not changed when it should
下一篇: Using NSFetchedResultsController to return objects with ordered relationships
