1

CoreDataデータベースに多数のアイテムがあります。アイテムは実際にはニュースエンティティであり、タイル、要約、コンテンツなどがあります。

UITableViewも1つあります。私がやっていることは、CoreDataデータベースからアイテムを読み取り(一度だけではなく、最終的にはすべて)、UITableViewに表示することです。

the number of items is very very bigそれで、すべてのアイテムをメモリに読み込むことが不可能であると仮定します。そのため、UITableViewにすべてのアイテムを表示するためにバッファリングするものが必要です。

NSFetchedResultController必要に応じてデータをロードするので、それを使用する候補であることを私は知っています。

しかし、私はそれがますます読むだけで、物事を決して捨てないと思いますよね?

次に、私の場合、両端からアイテムを動的にロード/アンロードするにはどうすればよいですか?

より正確には、UITableViewを下にスクロールすると、その方向にさらにアイテムをロードし、反対方向にメモリからアイテムを削除する必要があります。

それを行うための便利な方法または自動の方法はありますか?

ありがとう

4

1 に答える 1

1

はい、NSFetchRequest の setBatchSize: メソッドを使用してください。これにより、NSFetchedResultsController インスタンスは、batchSize の数だけをメモリに保持できます。NSFetchRequestのドキュメントは次のとおりです。

于 2012-09-11T13:41:57.073 に答える