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
链接地址: http://www.djcxy.com/p/36159.html
上一篇: NSFetchedResultsController order not changed when it should
下一篇: Using NSFetchedResultsController to return objects with ordered relationships