2011-03-15 161 views
1

如何减少核心数据中的提取请求时间?核心数据NSFetchedResultsController

我使用核心数据从.sqlite文件中获取10000个数据NSFetchedResultsController它需要太多的时间加载。

+2

试图接受TechZen的答案。它真的值得你的问题。 – 2012-03-31 15:21:05

回答

0

你可以尝试只提取对象id而不是整个对象。它通常更快。

6

请参见:Core Data Performance in the Core Data Programming Guide

通常情况下,你要设置获取的限制,并获取断层。这样你只能得到一小排轻量级代理对象。您还应该确保使用NSFetchResultsController的缓存。

但是,您可能想重新考虑您的UI设计。我有10,000行单桌是疯狂的,特别是在移动设备上。即使使用索引表,您也会要求您的用户通过数百行记录。您应该考虑将数据分解成某种逻辑层次结构,以便能够以层次结构的形式显示。原则上,您可以在4个表格中显示10,000个对象,每个对象只有10个选项。这对用户来说更容易导航,并且每张桌子的相应提取也很轻松快捷。

相关问题