网站图片上传代码,网页设计与网站建设在线作业答案,请人做个网页大概需要多少钱,免费漫画软件在CoreData中#xff0c;Entity中Attribute的类型只有固定的几种可选。如下图#xff1a; 如果我们要想直接存放UIImage到数据库#xff0c;如何做#xff1f; 1.在coredata中新建的attribute中类形选择Transformable. 意思表示这个字段是自定义的类型。 2.在生成的NSMana… 在CoreData中Entity中Attribute的类型只有固定的几种可选。如下图 如果我们要想直接存放UIImage到数据库如何做 1.在coredata中新建的attribute中类形选择Transformable. 意思表示这个字段是自定义的类型。 2.在生成的NSManagedObject文件中将类型id改为自己想要的类型如UIImage. 3.在xcode中字段的attribute中 name那一行写你转化的类如写下面的注册的UIImageToDataTransformer 4.新建类UIImageToDataTransformer继承于NSValueTransformer。代码如下 interface UIImageToDataTransformer : NSValueTransformer { } end #import UIImageToDataTransformer.h implementation UIImageToDataTransformer (BOOL)allowsReverseTransformation { return YES; } (Class)transformedValueClass { return [NSData class]; } - (id)transformedValue:(id)value { return UIImagePNGRepresentation(value); } - (id)reverseTransformedValue:(id)value { return [[UIImage alloc] initWithData:value]; } end 5.在你的NSManagedObject中注册转化类那么在存、取数据库的时候就会进行转化如上面的UIImage 到 NSData, NSData到UIImage. (void)initialize { if (self [MyEntity class]) { UIImageToDataTransformer *transformer [[UIImageToDataTransformer alloc] init]; [NSValueTransformer setValueTransformer:transformer forName:UIImageToDataTransformer]; } } 这样就可以直接存UIImage类型的数据到数据库实质还是存的二进制。如果是NSArray、NSDictionary等可以使用归档。 非常重要的一点进行了Transformable的的字段是不能进行like,contains,in这样的条件查询只能是简单的字段名XXX的查询。 转载自http://blog.csdn.net/likendsl/article/details/8549333