2

在我的UIView中我有一个由NSFetchedResultsController(NSFRC)控制的UITableView(UITV)。 UIView在UINavigationController中。当很多行被改变时禁用UITableView的动画

当视图即将被加载/显示时,我开始从远程服务器(JSON)获取数据并解析为核心数据的一些后台活动。

当解析完成并且线程NSManagedObjectContext被合并到主要上下文中时,NSFRC被调用。

问题是,有时很多行一次被插入到核心数据中,很多表格单元格正在被添加,并且实际的读取和分析已经完成了很长时间,直到行被显示。

现在我不知道是否有人的任何解决方案都知道,例如:

  • 钩了微调,以一些“获取结果控制器插入这段时间的所有行”(或东西)通知/委托人至少告诉用户“有些东西即将出现”?

或者可能最好的解决办法就是不要初始化NSFRC,直到后台抓取和处理完成?

谢谢!

+0

实际上最需要的是什么?它是服务器请求还是你想从Core Data中获取大量项目?如果它的提取速度降低了你的速度,那么你可以修改你的提取请求,只提取最初在屏幕上需要的项目,然后根据需要延迟加载剩下的项目。 – 2011-02-16 23:03:59

+0

NSFetchedResultsController的fetchRequest的批处理大小当前设置为20,但是当超过20个对象被插入时,更多这些对象也会在短时间内加载到内存中。你知道任何改变NSFetchedResultsControllerDelegate函数的方法,只插入可见的行(或类似的东西)。 – 2011-02-17 10:32:43

回答

相关问题