使用 UISegmentedControl 切换 NSFetchedResultsController

Posted

技术标签:

【中文标题】使用 UISegmentedControl 切换 NSFetchedResultsController【英文标题】:Using UISegmentedControl to switch NSFetchedResultsController 【发布时间】:2011-01-31 11:06:43 【问题描述】:

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

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

this question 的答案之一中建议的内容。

我还定义了我自己的枚举,以跟踪表格视图处于哪个状态(当前选择了哪个段)。

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

我的问题是:

是否有可能以我尝试的方式解决这个问题? beginUpdates、endUpdates 和 reloadData 应该去哪里(相对于 NSFetchedResultsController 的切换)? 任何人对此问题有更好的解决方案?

提前致谢!

【问题讨论】:

Reson for NSInter.. 在日志中给出,也给出。 嗨!我暂时放弃了几个 NSFetchedResultsControllers 的概念,只好往前走。尽快(希望明天一大早)我将再次尝试创建相同的错误:) 【参考方案1】:

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

这与您在使用 UISearchBar 时所做的相同,正如 this question 中所回答的那样

【讨论】:

谢谢!我想我用你的建议和另一个问题的答案解决了这个问题:)

以上是关于使用 UISegmentedControl 切换 NSFetchedResultsController的主要内容,如果未能解决你的问题,请参考以下文章

在不使用 alpha 的情况下使用 UISegmentedControl 在视图 ios 之间切换?

在iOS 5中使用UISegmentedControl切换视图控制器

UISegmentedControl的使用同一个控制器中实现多个View的切换addChildViewController等方法的使用

UISegmentedControl和View切换问题

当在两个布局之间快速切换使用 UISegmentedControl 时,我得到一个线程 1 exc_bad_access code=2 错误

UISegmentedControl 在视图控制器之间切换