2012-04-25 9 views
6

Soy un novato relacionado con los datos básicos. ¿Alguien podría ayudarme a proporcionar los pasos/tutoriales adecuados que muestran cómo guardar imágenes en los datos centrales y su recuperación también? Ya puedo almacenar datos de cadena, pero mi aplicación se bloquea al intentar guardar la imagen. para el ahorro:Guardando imagen en el núcleo Data

DataEvent *event = (DataEvent *)[NSEntityDescription insertNewObjectForEntityForName:@"DataEvent" 
                  inManagedObjectContext:managedObjectContext]; 
NSURL *url2 = [NSURL URLWithString:@"xxxxxxxxxxxxxxx SOME URL xxxxxxxxxxxx"]; 

NSData *data = [[NSData alloc] initWithContentsOfURL:url2]; 
imageSave=[[UIImage alloc]initWithData:data]; 
NSData * imageData = UIImageJPEGRepresentation(imageSave, 100.0);  
[event setValue:self.imageSave forKey:@"pictureData"]; 

Para retrival:

DataEvent *event = (DataEvent *)[eventsArray objectAtIndex:indexPath.row]; 
UIImage *image = [UIImage imageWithData:[event valueForKey:@"pictureData"]]; 
UIImageView *imageViewMainBackGround = [[UIImageView alloc] 
CGRect rect3=CGRectMake(0,2,100.0,100.0); 
imageViewMainBackGround.frame = rect3; 
[cell.contentView addSubview:imageViewMainBackGround]; 
[imageViewMainBackGround release]; 
+0

¿Qué es un tipo de datos para "PictureData" en el archivo de modelo? –

+0

su tipo de datos binarios –

+0

"El modelo utilizado para abrir la tienda es incompatible con el usado para crear la tienda" ¿de dónde obtienes este error? –

Respuesta

0

Usted tiene que fijar el PictureData valor de su objeto administrado al objeto NSData (en su caso propiedad imageData), no el imageSave objeto, que es un UIImage.

1

no cambian resolución si no es necesario ..

NSData * imageData = UIImageJPEGRepresentation(imageSave, 0.0); 

// y cambie la línea siguiente

[event setValue:imageData forKey:@"pictureData"]; 

See the store and Retrieve image from core data tutorial with sample code.

Esperanza, esto le ayudará a ..

+0

Hola después de hacer esto, me aparece el error: reason = "El modelo utilizado para abrir la tienda no es compatible con el utilizado para crear la tienda"; –

+0

donde guardar o recuperar ...? – Nit

+0

en Guardar los datos de imagen –

2

error: reason = "The model used to open the store is incompatible with the one used to create the store"

solución:

elimine el proyecto de compilación del simulador y límpielo desde la pestaña Producto, ahora ejecute el proyecto.

9

Para guardar:

NSData *imageData = UIImagePNGRepresentation(myUIImage); 

[newManagedObject setValue:imageData forKey:@"imageKey"]; 

Y retrive Image:

NSManagedObject *selectedObject = [[self fetchedResultsController] objectAtIndexPath:indexPath]; 
UIImage *image = [UIImage imageWithData:[selectedObject valueForKey:@"imageKey"]]; 
[[newCustomer yourImageView] setImage:image]; 

formato cambiado