首页 文章

使用UISegmentedControl切换NSFetchedResultsController

提问于
浏览
1

在我看来,我有一个表格视图和一个分段控件 . 表视图从NSFetchedResultsController获取其数据 .

单击分段控件时,我尝试更改为另一个NSFetchedResultsController(使用另一个谓词,排序描述符甚至另一种类型的实体) .

this question的答案之一中建议的东西 .

我也有自己定义的枚举,以跟踪表视图所处的状态(当前选择的段) .

问题是,当表视图重新加载其数据时,我得到一个“NSInternalInconsistencyException”,因为段数和/或行数已从X更改为Y - 但是“(0已插入,0已删除)” .

My questions are:

  • 甚至可以按照我想要的方式解决这个问题吗?

  • beginUpdates,endUpdates和reloadData应该去哪里(与NSFetchedResultsController的开关有关)?

  • 任何人都能更好地解决这个问题吗?

提前致谢!

1 回答

  • 2

    如果您正在延迟加载FRC,则终止FRC并在UITableView上调用reloadData以获取新的FRC,并使用新的谓词/排序描述符 .

    这与使用UISearchBar时的操作相同,如this question中所述

相关问题