核心数据在NSManagedObjectContext类中提供了“executeFetchRequest”方法,我们可以使用该方法从表中获取数据并以任何方式使用它。
现在有另一种方法可以使用NSFetchedResultsController并将其提供给UITableView以从表中获取和数据。
我现在的问题是:
哪种方式更快?,我的意思是表现明智,哪一个最好?
NSFetchedResultsController是否仅用于UITableViews?
NSFetchedResultsController的优点和缺点是什么。
最后一点,“为什么我们使用NSFetchedResultsController”,是什么让它比任何其他方式更好。
答案 0 :(得分:40)
最后一点,“为什么我们使用 NSFetchedResultsController“,什么 事情使它比任何其他更好 方式。
FRC类旨在自动处理与为表提供复杂和动态数据相关的所有开销。
如果您拥有的只是一个简单的,一个表格,其数据永远不会改变,那么FRC就没有任何优势。你只需要一次抓取就可以了。但是,如果在UI(用户重新排列,删除或添加)或通过代码(例如,从服务器更新数据)中更改数据,FRC提供处理所有不断变化并确保表准确反映的机制那些变化。
哪种方式更快?,我的意思是 表现明智,哪一个是 最好?
使用fetch或FRC没有重大的性能差异,因为它们都使用相同的获取机制从持久性存储中获取数据。如果您有复杂的动态数据,那么使用FRC比手动复制其功能更快。
有什么优点和缺点 NSFetchedResultsController。
见上文。
仅NSFetchedResultsController 与UITableViews一起使用?
是的,它实际上只对表有用。