我想将使用 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]: unrecognized selector sent to instance 0x1eaf6f90”
libc++abi.dylib:终止调用抛出异常
我已经尝试了注释掉的行,并且还使用了列类型为可转换的转换类。总是同样的错误。
这里有什么问题?
提前致谢!
编辑:
@interface CoreDataImage : NSManagedObject
@property (nonatomic, retain) NSString * imageid;
@property (nonatomic, retain) NSData * image;
-(CoreDataImage *)initWithImageId:(NSString *)imageid
image:(UIImage *)image;
@end