将图像保存到核心数据

我是一个与核心数据相关的新手。 任何人都可以帮助我提供适当的步骤/教程,展示如何将图像保存到核心数据及其回溯。我已经能够存储string数据,但是我的应用程序在尝试保存图像时崩溃。 为了节省:

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"]; 

为了回顾:

  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]; 

保存:

 NSData *imageData = UIImagePNGRepresentation(myUIImage); [newManagedObject setValue:imageData forKey:@"imageKey"]; 

并回想图像:

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

改变格式

错误:reason =“用于打开商店的模型与用于创build商店的模型不兼容”

解:

从模拟器中删除生成项目,并从产品选项卡清除,现在运行该项目。

如果没有必要,请不要更改分辨率。

 NSData * imageData = UIImageJPEGRepresentation(imageSave, 0.0); 

//并改变下面的行

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

使用示例代码查看商店并从核心数据教程中检索图像。

希望对你有帮助..

你必须将你的托pipe对象的pictureData值设置为NSData对象(在你的情况imageData ),而不是imageSave对象,这是一个UIImage