Core Data Release Notes for iOS 5.0
Cuando está activado, datos básicos decide heurísticamente en función de cada valor si debe guardar los datos directamente en la base de datos o almacenar un URI a un archivo separado que gestiona para usted. No puede realizar consultas basadas en el contenido de una propiedad de datos binarios si usa esta opción.
Y a partir de su enlace External Binary Data, la heurística parece ser
objetos que son menores que 1 MB 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 a ella.
Así que el siguiente consejo sigue siendo válido: CoreData : store images to DB or not?
- < tienda de 100kb en la misma mesa que los datos pertinentes
- < tienda de 1mb en una tabla separada unido a través de una relación que deben evitarse cargando innecesariamente
-
1MB almacena en el disco y lo hace referencia dentro de Core Data
La bandera conjuntos básicos de datos a seguir ese consejo y automáticamente almacenar imágenes> 1 MB como un archivo de disco independiente.
Entonces, en ese caso, probablemente deberíamos ponerlo en una entidad separada en caso de que esté en el rango 100kb-1mb dado que el almacenamiento externo no cuenta para ese caso? –
Advertencia: hay un error con el almacenamiento de imágenes externas que hace que se cuelgue cuando se elimina, a veces: http://stackoverflow.com/questions/7930427/error-uiimage-deleteexternalreferencefrompermanentlocation-unreconocido-se –
Hay otro error con el almacenamiento externo y migración. Si intentas crear un nuevo modelo y luego usar una migración ligera, perderás todos los 'Datos Binarios' que están almacenados en un archivo externo. – zirinisp