将 NSFetchedResultsController 与 UITableView 中的特定部分关联

Posted

技术标签:

【中文标题】将 NSFetchedResultsController 与 UITableView 中的特定部分关联【英文标题】:Associate NSFetchedResultsController with specific section in UITableView 【发布时间】:2014-01-30 18:02:52 【问题描述】:

我有一个 UITableView 需要显示两组搜索结果,每组搜索结果都是不同的实体。

每个实体都需要在特定部分显示其搜索结果。我需要使用 NSFetchResultsController,这样如果有额外的数据可用,tableview 会自动更新。

我的问题是,如何将特定的 NSFetchedResultsController 与特定的部分相关联?我的意思是我希望实体 1 的所有获取结果都在第 0 部分中,而来自实体 2 的所有搜索获取结果都在表格视图的第 1 部分中。

拥有一个带有单个部分/单个提取控制器的 tableview 没有问题,但是是否有一个 NSFetchedResultsController 与 table view 的特定部分相关联?

【问题讨论】:

【参考方案1】:

设置了两个NSFetchedResultsControllers后,在section数委托方法中,指定2个section,对于一个section行数的委托方法,查看section编号,从相应的获取count fetched results 控制器,并在cellForRowAtIndexPath: 方法中,根据索引路径中的节号从相应的fetched results controller 中获取数据。

【讨论】:

谢谢 - 虽然我想知道在更改回调方面,这将如何根据委托协议工作? IE。插入/删除/更改? 您将需要更改逻辑以根据您当时正在处理的NSFetchedResultsController 处理正确的部分。因此,在您与NSFetchedResultsController 交互的任何地方,您都需要添加一些逻辑。但是设置它应该不会太难。如果你有一个带有 1 个获取结果控制器的工作实现,你应该能够将它扩展到 2 个而不会有太多麻烦。

以上是关于将 NSFetchedResultsController 与 UITableView 中的特定部分关联的主要内容,如果未能解决你的问题,请参考以下文章

CoreData、NSFetchedResultsController 和 performFetch:

将自己的博客园,打造成个人知乎

如何将thinkcmf导入eclipse

如何将Ios文件上传到

Javascript 将正则表达式 \\n 替换为 \n,将 \\t 替换为 \t,将 \\r 替换为 \r 等等

如何将视频文件转换格式