我正在尝试创建自定义RKValueTransformer
,以便对收到的数据进行转换。我正在使用的API
返回没有任何小数点的纬度。我希望能够进行一些处理并自己添加小数点。我可以将“lat
”字段映射到实际的类:
在keyPath'lat'找到可转换的值。从类'__NSCFNumber'转换为'NSNumber'RKValueTransformer
我创建了一个RKValueTransformer
,但是在映射数据时从不调用它。
- (void)setupValueTransformers {
[[RKValueTransformer defaultValueTransformer] addValueTransformer:[self coordinatesValueTransformer]];
[[RKValueTransformer defaultValueTransformer] insertValueTransformer:[self coordinatesValueTransformer] atIndex:0];
}
- (RKValueTransformer *)coordinatesValueTransformer {
return [RKBlockValueTransformer valueTransformerWithValidationBlock:^BOOL(__unsafe_unretained Class inputValueClass, __unsafe_unretained Class outputValueClass) {
return ([inputValueClass isSubclassOfClass:[NSNumber class]] && [outputValueClass isSubclassOfClass:[NSNumber class]]);
} transformationBlock:^BOOL(id inputValue, __autoreleasing id *outputValue, __unsafe_unretained Class outputClass, NSError *__autoreleasing *error) {
//MY PROCESSING here
return YES;
}];
}