0

情况就在这里:当我从 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];

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

提前谢谢!

4

1 回答 1

1

你是对的 - JSONModel 不支持UIImage实例的(反)序列化。您应该实现一个自定义数据转换器 ( JSONValueTransformer),如自述文件中所示

@implementation JSONValueTransformer (CustomTransformer)

- (UIImage *)UIImageFromNSString:(NSString *)string {
    return nil; // transformed object
}

- (NSString *)JSONObjectFromUIImage:(UIImage *)image {
    return nil; // transformed object
}

@end
于 2016-01-12T11:48:57.110 回答