ios - 使用 Core Data 将图像添加到数据库

标签 ios xcode core-data uiimage

尝试使用核心数据将图像添加到数据库。 View Controller 用于用户向数据库输入文本字段和图像。用户使用 UIImagePickerController 选择图像。代码是:

- (void) add
{
NSManagedObjectContext *context = [app managedObjectContext];

Exercises *exercises = [NSEntityDescription insertNewObjectForEntityForName:@"Exercises" inManagedObjectContext:context];

exercises.name = name.text;
exercises.difficulty = difficulty.text;
exercises.type = type.text;
exercises.instructions = instructions.text;
NSData* image1 = [NSData dataWithData:UIImagePNGRepresentation(imageView.image)];
[NSManagedObject setValue:image1 forKey:@"imageView"];

[self dismissViewControllerAnimated:YES completion:nil];

错误是由于未捕获的异常“NSUnknownKeyException”而终止应用程序,原因:“[setValue:forUndefinedKey:]: 此类与键 imageView 的键值编码不兼容。”关键应该是什么?我什至以正确的方式解决这个问题吗?顺便说一句,保存和检索文本工作正常。我唯一的问题是添加图片。

最佳答案

电话:

[NSManagedObject setValue:image1 forKey:@"imageView"];

尝试调用 setValue:forKey:上课NSManagedObject .该类未实现该方法,因此会引发异常。

可能您想在 exercises 上调用它, NSManagedObject 的实例你刚刚创建的——它有一个名为 imageView 的数据属性吗? ?

在样式和性能方面,访问特定 setter 的点表示法是首选,因为您已经使用了所有其他属性,但与它旁边的 PNG 编码相比,它不太可能成为大问题所以我不会担心。

关于ios - 使用 Core Data 将图像添加到数据库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19396918/

相关文章:

ios - 如何调查 iOS 崩溃并出现错误 NSOSStatusErrorDomain Code=-50 "query missing class name"

swift - 无法分发 Mac 命令行工具

cocoa - Xcode 中带有 Core Data 的高级数据模型

ios - 如何区分 CoreData 中的 Boolean 和 NSNumber

ios - iPhone日期格式

ios - 向 UIScrollview 添加/删除 UIView 时出现延迟的原因是什么?

iphone - 创建新类时 Xcode 构建错误

objective-c - 以编程方式创建 UITextFields

ios - swift presentViewController 以编程方式在 destinationVC VDL 中找到 nil

ios - 一次通过多个 id 搜索核心数据的优势与多个 id 背靠背搜索的优势