我使用Mantle成功转换模型中的值 - 但是这个错误回复了:Incompatible block pointer types sending 'int (^)(NSNumber *__strong)' to parameter of type 'MTLValueTransformerBlock' (aka 'id (^)(__strong id)')
:
+ (NSValueTransformer *)numDownvotesJSONTransformer
{
return [MTLValueTransformer reversibleTransformerWithForwardBlock:^(NSNumber *number) {
return [number intValue];
} reverseBlock:^(int value) {
return [NSNumber numberWithInt:value];
}];
}
这种类似的转换效果很好:
+ (NSValueTransformer *)longitudeJSONTransformer
{
return [MTLValueTransformer reversibleTransformerWithForwardBlock:^(NSNumber *number) {
return [NSDecimalNumber decimalNumberWithDecimal:[number decimalValue]];
} reverseBlock:^(NSDecimalNumber *decimalNumber) {
return [NSNumber numberWithDouble:[decimalNumber doubleValue]];
}];
}
不理解这里的区别。
答案 0 :(得分:4)
来自项目维护者的回答:"变形金刚必须对物体进行操作。您不需要为NSNumber转到原始属性做任何事情,因为键值编码会自动处理。"