1

coredata db からデータをフェッチするときに setFetchBatchSize が使用される理由と、その利点は何なのか疑問に思っています。私は現在、NSData blob を自分の coredata db にドロップしているだけなので、それが私に当てはまるのか、それとも nsarrays などに使用されているのか疑問に思っています。

私はそれがアップルのドキュメントに書かれていることを読みましたが、続けることはあまりありません.

レシーバーのバッチサイズ。バッチ サイズ 0 は無限として扱われ、バッチ フォールト動作が無効になります。

あまり役に立ちません..現在、setFetchBatchSizeを無効にしていますが、すべてがまだ機能しているようですが、有効にすると恩恵を受けることができるかどうか疑問に思っています。

4

1 に答える 1

5

テーブル (エンティティ) に多数のレコードがあり、フェッチがこのテーブルから多数のレコードを取得するように設定されている場合、アプリでメモリを保持できる方法としてフォルトがあります。これらすべてのレコードを同時に取得してメモリにロードするのではなく、fetchBatchSize は取得するレコードの数をその制限に制限し、残りのレコードをフォールトさせます。それらは必要な場合にのみフェッチされます。fetchBatchSize を設定すると、この障害は自動的に処理されます。

これが物事を少し明確にすることを願っています。

于 2012-05-07T06:02:05.337 に答える