2017-08-03 10 views
-2

現在、コアデータから一瞬で100s以上のレコードを取り出すことはできませんが、これは時間の経過とともにゆっくりと成長します。 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のレコードを収集し、次にいくつかの処理を行ってから表示するという要件はありませんので、モデルとビューの間の疎結合を維持したいと思うような理由で、 –

関連する問題