iphone - Almacenamiento de UIImage en Core Data con la nueva bandera de Almacenamiento externo
core-data ios5 (1)
Notas de versión de Core Data para iOS 5.0
Cuando está habilitado, Core Data determina heurísticamente por valor si debe guardar los datos directamente en la base de datos o almacenar un URI en un archivo separado que administra para usted. No puede realizar consultas en función del contenido de una propiedad de datos binarios si usa esta opción.
Y a partir de su enlace Here , la heurística parece ser
Los objetos que son más pequeños que 1MB se almacenan en la base de datos. Para los objetos que son más grandes, se crea un archivo externo y la base de datos simplemente almacena una referencia al mismo.
Entonces, el siguiente consejo sigue siendo válido: here
- <Tienda de 100kb en la misma tabla que los datos relevantes
- <1mb almacenar en una tabla separada adjunta a través de una relación para evitar cargar innecesariamente
1 MB de almacenamiento en el disco y referenciarlo dentro de Core Data
El indicador establece Core Data para seguir ese consejo y almacenar automáticamente imágenes> 1MB como un archivo de disco separado.
Sé que el almacenamiento de los datos básicos de UIImage se ha discutido mucho, como here , pero fue anterior a iOS5. Ahora que tenemos la bandera de almacenamiento externo, ¿piensan que sería una buena idea almacenar UIImage directamente en la entidad, como una entidad separada, o aún en el disco?
Here hay una fuente que explica la opción de almacenamiento externo.