ver puedo pasar las guardar fotos con como iphone image core-data

puedo - pasar fotos de iphone a pc windows 10



CoreData: ¿almacenar imágenes en DB o no? (2)

Primero, siempre almacene sus imágenes en un formato utilizable como PNG o JPEG en lugar de NSData. Esto te ahorrará muchos dolores de cabeza.

En segundo lugar, la regla para almacenar datos binarios es:

  • <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

Actualizar

El almacenamiento dentro de Core Data debe ser binario y puede escribir métodos de acceso para él. Echa un vistazo a esta respuesta: imágenes de datos principales desde el escritorio al iPhone

Actualizar

El código de ejemplo que he vinculado describe cómo crear accesos en tu subclase NSManagedObject que convertirá la imagen hacia adelante y hacia atrás entre un UIImage y datos binarios.

Estoy haciendo una aplicación que toma fotos del sitio web para un nombre de usuario y lo muestra en una UITable con nombre de usuario, luego al hacer clic en el nombre de usuario muestra fotos para este usuario y luego al hacer clic en el nombre de la foto muestra una foto en pantalla completa.

Mi pregunta es: estoy usando NSData para obtener fotos de internet. ¿Debo guardar los datos en CoreData? Al presionar el nombre del usuario, crea NSData y descarga fotos de Internet y las muestra en UITable. Y lleva tiempo.

¿Cuál es el buen enfoque? y ¿Cómo se pueden guardar estas imágenes en CoreData?

Estoy usando este método

NSData *imageData=[flickr dataForPhotoID:firstPhoto.id fromFarm:firstPhoto.farm onServer:firstPhoto.server withSecret:firstPhoto.secret inFormat: FlickrFetcherPhotoFormatSquare];

y aquí definición del método dataForPhotoID

- (NSData *)dataForPhotoID:(NSString *)photoID fromFarm:(NSString *)farm onServer:(NSString *)server withSecret:(NSString *)secret inFormat:(FlickrFetcherPhotoFormat)format { #if TEST_HIGH_NETWORK_LATENCY sleep(1); #endif NSString *formatString; switch (format) { case FlickrFetcherPhotoFormatSquare: formatString = @"s"; break; case FlickrFetcherPhotoFormatLarge: formatString = @"b"; break; } NSString *photoURLString = [NSString stringWithFormat:@"http://farm%@.static.flickr.com/%@/%@_%@_%@.jpg", farm, server, photoID, secret, formatString]; NSURL *url = [NSURL URLWithString:photoURLString]; return [NSData dataWithContentsOfURL:url]; }


Puedes simplemente almacenar objetos UIImage en CoreData directamente, solo usa el tipo de datos Transformable , y estás listo para ir