1

我想将使用 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
4

0 回答 0