0

我正在使用 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]];
    }];
}

不明白这里的区别。

4

1 回答 1

4

来自项目维护者的回答:“Transformers 必须对对象进行操作。你不需要为 NSNumber 去原始属性做任何事情,因为 Key-Value Coding 会自动处理。”

于 2015-02-12T22:06:15.070 回答