使用Core Data最有效的方法是什么?

时间:2010-12-21 23:46:19

标签: cocoa-touch ipad uitableview core-data ios

我正在使用Core Data开发一个iPad应用程序,并希望有人可以澄清一些关于Core Data的内容。

现在,我通过对viewDidLoad中的所有数据进行抓取请求来填充我的表格。我宁愿在tableView:cellForRowAtIndexPath:中制作单独的抓取请求。谁能告诉我哪个更有效率,为什么?换句话说,与一个大请求相比,制作大量小请求的效率要低得多吗?

1 个答案:

答案 0 :(得分:4)

您的提取请求有一个名为fetchBatchSize的属性,它告诉您的提取请求只能批量提取数据。这意味着批量大小为20时,只有前20个项目被加载到内存中。当用户滚动超过20时,将自动加载另外20个项目,依此类推。

此外,Apple还提供了一个NSFetchedResultsController类,用于管理数据的表示和编辑(它最适合表视图,但当然可以与其他类型的视图控制器一起使用)。它为您处理了许多其他优化(例如批量提取,内存管理等),因此提供了比您自己创建,启动和管理提取请求更好的性能。