除了加载行子集之外,使用 NSFetchedResultsController 有啥好处
Posted
技术标签:
【中文标题】除了加载行子集之外,使用 NSFetchedResultsController 有啥好处【英文标题】:What are some benefits of using NSFetchedResultsController other than loading subset of rows除了加载行子集之外,使用 NSFetchedResultsController 有什么好处 【发布时间】:2014-12-09 12:38:18 【问题描述】:我们使用NSFetchedResultsController
仅加载行的子集而不是表中的完整数据。使用它有什么不为人知的好处吗?谢谢。
【问题讨论】:
【参考方案1】:您可以使用NSPredicate
获取行的子集。因此,与带有集合谓词的普通 NSFetchRequest
相比,FRC 并不是真正的优势。
最大的优势之一是 FRC 可以为您监控存储更改,并将上述更改通知您提供的委托。数据集是否添加、删除或更新了条目。见NSFetchedResultsControllerDelegate protocol reference。
它还具有内置的缓存机制。虽然我在我的 ios 开发人员职业生涯中还没有看到有人使用它。
我能想到的最后一个是您能够提供部分的关键路径,并且您可以开箱即用地获得“分段”数据。使用普通的NSFetchRequest
,您必须自己对数据进行分段。
【讨论】:
以上是关于除了加载行子集之外,使用 NSFetchedResultsController 有啥好处的主要内容,如果未能解决你的问题,请参考以下文章
除了 FetchedData 之外,CoreData FetchRequest 正在使用可选结果数据加载我的列表
SQLAlchemy - 从自动加载表的内部连接映射列的子集