将图像保存到核心数据

PUN*_*ARG 6 cocoa-touch core-data objective-c uiimage ios

我是一个与核心数据相关的新手.任何人都可以帮我提供正确的步骤/教程,展示如何将图像保存到核心数据及其回溯.我能够存储字符串数据,但我的应用程序在尝试保存图像时崩溃.保存:

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"];
Run Code Online (Sandbox Code Playgroud)

对于回顾:

 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];
Run Code Online (Sandbox Code Playgroud)

Bab*_*dha 9

要保存:

NSData *imageData = UIImagePNGRepresentation(myUIImage);

[newManagedObject setValue:imageData forKey:@"imageKey"];
Run Code Online (Sandbox Code Playgroud)

并且要回归图像:

NSManagedObject *selectedObject = [[self fetchedResultsController] objectAtIndexPath:indexPath];
UIImage *image = [UIImage imageWithData:[selectedObject valueForKey:@"imageKey"]];
[[newCustomer yourImageView] setImage:image];
Run Code Online (Sandbox Code Playgroud)

改变格式


The*_*Eye 0

您必须将托管对象的pictureData值设置为 NSData 对象(在您的情况下为imageData),而不是imageSave对象,它是UIImage