0

私は自分が抱えている奇妙な問題をデバッグしようとしていますが、どこから始めればよいのかまったくわかりません。ただし、この質問は単純です。

約2000個のオブジェクトを返すフェッチ要求がありますが、batchSizeは15です。したがって、15個のオブジェクトのみがメモリにロードされ、残りは必要に応じてフォールトインされます。私が抱えている問題は、何らかの理由で、フェッチ要求が終了するとすぐにすべてのオブジェクトがフォールトインしていることです。これには約20秒かかります。なぜそれが起こっているのか分かりません。

どういうわけか、これらすべてのオブジェクトにアクセスしていて、すべてに障害が発生していることを意味しているに違いありません。呼び出すfetchedResultsController.fetchedObjects.countと、万が一すべてのオブジェクトに障害が発生しますか?

4

1 に答える 1

2

文書はこれについて述べていますfetchedObjects

フェッチ要求に述語がない場合、結果の配列には、フェッチ要求で指定されたエンティティのすべてのインスタンスが含まれます。

あなたは何をしようとしているのですか?カウントを取得する正しい方法は次のとおりです。

id <NSFetchedResultsSectionInfo> sectionInfo = [controllers sections] objectAtIndex:section];

return [sectionInfo numberOfObjects];
于 2012-06-23T02:59:42.210 に答える