2017-08-03 32 views
-2

我处于目前我从核心数据中暂时没有获取超过100条记录的情况,但这种情况会随着时间的推移慢慢增长,我想让应用程序随时准备好10000条记录,我是否应该实现记录异步或同步的这种处理仍然会在几秒内返回10000条记录的数据?我没有处理核心数据堆栈上大尺寸数据的经验。需要从核心数据读取10,000条记录

+0

你在哪里显示这些数据?泰伯维? – jarora

+0

@jarora是表格视图主要是 –

+0

请提及downvoting的原因。 – jarora

回答

2

您应该使用FRC(NSFetchedResultsController)以及FRC的NSFetchRequest的batchSize属性,该属性限制了给定时间内存中核心数据对象的数量。

请参阅苹果文档here。 用法可以发现here

编辑: 您可以使用fetchRequest对核心数据对象进行处理。另外,您可以在列上使用索引来提高查询的性能。

+0

基本上我不想将结果集直接附加到TableView上,因为我们在显示之前没有进行一些处理。 –

+0

这很好。您可以在cellForRowAtIndexPath中执行处理。您可以从fetchedResultsController中获取该indexPath处的coredata对象,然后对其进行修改以适应视图规范。 – jarora

+0

没有我的意思是要求收集的数据首先至少1000条记录,然后进行一些处理,然后显示,所以对于这个和其他一些原因,如我想保持模型和视图之间的松散耦合,所以真的不喜欢使用它。 –