使用 JsonModel 存档 UIImage
archive UIImage with JsonModel
情况是这样的:
我从API获取数据的时候用JsonModel把json转成模型,挺好的
而且我要对一些数据进行持久化存储,最后我选择了NSKeyedArchive和NSKeyedUnarchive来保存和获取数据。
重点来了,JsonModel已经符合了NSCoding,所以我不用再写代码去应用NSCoding了。我归档和取消归档一些基本数据,效果很好。
但是数据模型中有一个UIImage 属性,当我归档数据模型时,问题来了,归档没有完成。 (好像JsonModel不支持UIImage编码???)
当它抛出时,代码变为
@throw [NSException exceptionWithName:@"Value transformer not found"
reason:[NSString stringWithFormat:@"[JSONValueTransformer %@] not found", selectorName]
userInfo:nil];
所以有人知道我应该怎么做才能解决这个问题吗?
提前致谢!
你是对的 - JSONModel 不支持 UIImage
实例的(反)序列化。您应该实现自定义数据转换器 (JSONValueTransformer
),as shown in the readme:
@implementation JSONValueTransformer (CustomTransformer)
- (UIImage *)UIImageFromNSString:(NSString *)string {
return nil; // transformed object
}
- (NSString *)JSONObjectFromUIImage:(UIImage *)image {
return nil; // transformed object
}
@end
情况是这样的: 我从API获取数据的时候用JsonModel把json转成模型,挺好的
而且我要对一些数据进行持久化存储,最后我选择了NSKeyedArchive和NSKeyedUnarchive来保存和获取数据。 重点来了,JsonModel已经符合了NSCoding,所以我不用再写代码去应用NSCoding了。我归档和取消归档一些基本数据,效果很好。
但是数据模型中有一个UIImage 属性,当我归档数据模型时,问题来了,归档没有完成。 (好像JsonModel不支持UIImage编码???)
当它抛出时,代码变为
@throw [NSException exceptionWithName:@"Value transformer not found"
reason:[NSString stringWithFormat:@"[JSONValueTransformer %@] not found", selectorName]
userInfo:nil];
所以有人知道我应该怎么做才能解决这个问题吗?
提前致谢!
你是对的 - JSONModel 不支持 UIImage
实例的(反)序列化。您应该实现自定义数据转换器 (JSONValueTransformer
),as shown in the readme:
@implementation JSONValueTransformer (CustomTransformer)
- (UIImage *)UIImageFromNSString:(NSString *)string {
return nil; // transformed object
}
- (NSString *)JSONObjectFromUIImage:(UIImage *)image {
return nil; // transformed object
}
@end