在我看来,我有一个表格视图和一个分段控件 . 表视图从NSFetchedResultsController获取其数据 .
单击分段控件时,我尝试更改为另一个NSFetchedResultsController(使用另一个谓词,排序描述符甚至另一种类型的实体) .
在this question的答案之一中建议的东西 .
我也有自己定义的枚举,以跟踪表视图所处的状态(当前选择的段) .
问题是,当表视图重新加载其数据时,我得到一个“NSInternalInconsistencyException”,因为段数和/或行数已从X更改为Y - 但是“(0已插入,0已删除)” .
My questions are:
-
甚至可以按照我想要的方式解决这个问题吗?
-
beginUpdates,endUpdates和reloadData应该去哪里(与NSFetchedResultsController的开关有关)?
-
任何人都能更好地解决这个问题吗?
提前致谢!
1 回答
如果您正在延迟加载FRC,则终止FRC并在UITableView上调用reloadData以获取新的FRC,并使用新的谓词/排序描述符 .
这与使用UISearchBar时的操作相同,如this question中所述