2009-11-05 15 views
6

En CoreData, si quiero limitar el resultado devuelto a 100, ¿es suficiente con establecer el límite de búsqueda en 100 o también debo establecer el tamaño del lote de búsqueda en 100?Limite el resultado devuelto en CoreData

Respuesta

9

Es suficiente para establecer el límite de ir a buscar a 100.

Ajuste del tamaño de captación de lotes hace algo completamente distinto. Establecer el tamaño del lote de búsqueda en 100 (y el límite de búsqueda en algo superior a 100) le permitirá recuperar más de 100 elementos, pero solo leer 100 de ellos en la memoria a la vez. (La recuperación inicial, que se vendería por más de los 100 objetos, obtiene sus documentos de identidad, no a todo los objetos.) A partir de la documentación para -fetchBatchSize:

Si se establece un tamaño de lote distinto de cero, la colección de objetos devueltos cuando se ejecuta la búsqueda se divide en lotes . Cuando se ejecuta la búsqueda, se evalúa la solicitud completa y se registran las identidades de todos los objetos coincidentes , pero no más de batchSize datos de objetos del almacén persistente a la vez.