在 UITableViewController 之外使用 NSFetchedResultsController

Posted

技术标签:

【中文标题】在 UITableViewController 之外使用 NSFetchedResultsController【英文标题】:Using NSFetchedResultsController outside of a UITableViewController 【发布时间】:2011-03-27 10:06:33 【问题描述】:

UITableViewController 之外使用NSFetchedResultsController 会不会出错,因为非UITableView 控制器将无法实现NSFetchedResultsControllerDelegate 协议?

【问题讨论】:

【参考方案1】:

没有特别的理由你不能在没有表格的情况下使用 NSFetchedResults 控制器。您可以定义任意类来实现 NSFetchedResultsControllerDelegate 协议。

但是,您想要这样做的原因很少。 FRC 旨在为表获取和排序数据。它还跟踪部分名称等。其他控件并不真正需要该排序或该信息。

如果您希望控制器像 FRC 一样监视 managedObject 上下文的变化,那么您应该注册控制器以获取上下文的各种通知。然后控制器可以根据需要更新视图,就像 FRC 对 tableview 所做的那样。

【讨论】:

缓存不就是这样一个原因吗?

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

在动态 UITableViewController 的标头中嵌入静态 UITableViewController

重新加载 UITableViewController

我想通过在 Swift 中以编程方式将 UINavigationController 与 UITableViewController 嵌入 UITableViewController 这是 UITab

在 UITableViewController 中没有调用 cellForRowAtIndex?

在导航栏中使用 UITableViewController

在 UITableViewController 之外使用 NSFetchedResultsController