我有一个“按钮”,可以将图像从相机胶卷加载到imageView
,这非常完美。
现在,我将图像保存在数据库的imageView
中。
我有4个“文本字段”,这没有问题。当我添加代码以保存“图片”时,应用崩溃。
在.h
文件中,我有:
@property (weak, nonatomic) IBOutlet UIImageView *pictureData;
UIImage
。我的
.m
文件:- (IBAction)save:(id)sender {
NSManagedObjectContext *context = [self managedObjectContext];
if (self.device) {
// Update existing device
[self.device setValue:self.nameTextField.text forKey:@"name"];
[self.device setValue:self.versionTextField.text forKey:@"version"];
[self.device setValue:self.companyTextField.text forKey:@"company"];
[self.device setValue:self.adresse.text forKey:@"adresse"];
[self.device setValue:self.pictureData forKey:@"picture"];
} else {
// Create a new device
NSManagedObject *newDevice = [NSEntityDescription insertNewObjectForEntityForName:@"Device" inManagedObjectContext:context];
[newDevice setValue:self.nameTextField.text forKey:@"name"];
[newDevice setValue:self.versionTextField.text forKey:@"version"];
[newDevice setValue:self.companyTextField.text forKey:@"company"];
[newDevice setValue:self.adresse.text forKey:@"adresse"];
[newDevice setValue:self.pictureData forKey:@"picture"];
}
NSError *error = nil;
// Save the object to persistent store
if (![context save:&error]) {
NSLog(@"Can't Save! %@ %@", error, [error localizedDescription]);
}
[self dismissViewControllerAnimated:YES completion:nil];
}
在
xcdatamodeld
(核心数据)中,我有图片作为类型二进制数据集!错误在哪里?
最佳答案
这是问题所在
[self.device setValue:self.pictureData forKey:@"picture"];
UIImageView是一个不是二进制数据的对象,请替换以下语句
[self.device setValue:UIImagePNGRepresentation(self.pictureData.image) forKey:@"picture"];
编辑:
要检索,
[self.pictureData setImage:[UIImage imageWithData:[self.device valueForKey:@"picture"]]];
关于ios - 将图像从UIimageView保存到核心数据,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/23376064/