使用JsonModel归档UIImage

时间:2015-10-28 12:33:47

标签: ios uiimage nscoding nskeyedarchiver 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];

所以任何人都知道我该怎么办才能解决这个问题?

非常感谢!

1 个答案:

答案 0 :(得分:1)

您正确 - JSONModel不支持(de)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