RestKit:布尔值

RestKit: Values to BOOL

我有一个 NS_ENUM 保存清单的状态。这两个属性是 PendingCompleted.

typedef NS_ENUM (NSUInteger, ChecklistStatus) { Pending, Completed };

我正在尝试获取状态并将其映射到 true/false 值。我正在使用的方法是通过 RKValueTransformer。

这是相关代码:

+(RKValueTransformer *)checklistStatusToBooleanTransformer
{
    RKValueTransformer *transformer = [RKBlockValueTransformer valueTransformerWithValidationBlock:^BOOL(__unsafe_unretained Class sourceClass, __unsafe_unretained Class destinationClass) {
        return ([sourceClass isSubclassOfClass:[NSNumber class]]);
    } transformationBlock:^BOOL(NSNumber *inputValue, __autoreleasing id *outputValue, __unsafe_unretained Class outputClass, NSError *__autoreleasing *error) {
        // validate the input
        RKValueTransformerTestInputValueIsKindOfClass(inputValue, [NSNumber class], error);
        if([inputValue isEqual:@(Completed)]) {
            *outputValue = [NSNumber numberWithBool:YES];
        } else {
            *outputValue = [NSNumber numberWithBool:YES];
        }

        return YES;
    }];

    return transformer;
}

我无法将我的输出值显式转换为 BOOL,所以我真的不知道我应该在这里做什么。

如有任何帮助,我们将不胜感激!

您不能显式转换,因为 BOOL 不是原始类型。检查所需的输出是否为字符串 "false"/"true" 而不是 t/f

的实际值