将 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】:设置了两个NSFetchedResultsController
s后,在section数委托方法中,指定2个section,对于一个section行数的委托方法,查看section编号,从相应的获取count fetched results 控制器,并在cellForRowAtIndexPath:
方法中,根据索引路径中的节号从相应的fetched results controller 中获取数据。
【讨论】:
谢谢 - 虽然我想知道在更改回调方面,这将如何根据委托协议工作? IE。插入/删除/更改? 您将需要更改逻辑以根据您当时正在处理的NSFetchedResultsController
处理正确的部分。因此,在您与NSFetchedResultsController
交互的任何地方,您都需要添加一些逻辑。但是设置它应该不会太难。如果你有一个带有 1 个获取结果控制器的工作实现,你应该能够将它扩展到 2 个而不会有太多麻烦。以上是关于将 NSFetchedResultsController 与 UITableView 中的特定部分关联的主要内容,如果未能解决你的问题,请参考以下文章
CoreData、NSFetchedResultsController 和 performFetch: