我想将使用UIImagePickerController从相机中选取的图像存储到CoreData。该列是具有“允许外部存储”的二进制类型。 我想保存的方法:
-(CoreDataImageClass *)initWithImageId:(NSString *)imageid
image:(UIImage *)image
{
CoreDataImageClass *imageClass = [self getNew];
imageClass.imageid = imageid;
NSData *imageData = UIImageJPEGRepresentation(image, 1.0);
//NSData *imageData = [NSData dataWithData:UIImagePNGRepresentation(image)];
imageClass.image = imageData; // runtime error
[DataAccess saveObject:imageClass];
return imageClass;
}
在运行时错误行中,我收到此错误: * 由于未捕获的异常'NSInvalidArgumentException'而终止应用程序,原因:' - [NSConcreteMutableData managedObjectContext]:无法识别的选择器发送到实例0x1eaf6f90'
libc ++ abi.dylib:终止调用抛出异常
我已经尝试了注释掉的那一行,并且还使用了一个列类型为Transformable的转换类。 总是一样的错误。
这里有什么问题?
提前致谢!
修改
@interface CoreDataImage : NSManagedObject
@property (nonatomic, retain) NSString * imageid;
@property (nonatomic, retain) NSData * image;
-(CoreDataImage *)initWithImageId:(NSString *)imageid
image:(UIImage *)image;
@end