我有一些从服务返回的 JSON,有时对于一个布尔值的属性,它的值为 null 而不是 true/false;像这样:
"hide_locations" : null,
我接收这个值的对象有一个属性:
@property (nonatomic, assign) BOOL hideLocations;
我的映射配置如下:
RKObjectMapping *retVal = [RKObjectMapping mappingForClass:[self class]];
[retVal mapKeyPath:@"hide_locations" toAttribute:@"hideLocations"];
但是当我执行映射时,RestKit 0.10.3 在这条线上崩溃了:
[self.destinationObject setValue:value forKeyPath:attributeMapping.destinationKeyPath];
在 - (void)applyAttributeMapping:(RKObjectAttributeMapping *)attributeMapping withValue:(id)value
在 RKObjectMappingOperation.m 中出现以下错误:
2012-11-13 09:33:04.352 测试 [73816:5f03] *由于未捕获的异常“NSInvalidArgumentException”而终止应用程序,原因:“[setNilValueForKey]:无法将 nil 设置为键 hideLocations 的值。”
对我来说,像这样成熟的框架并不能更优雅地处理这种情况似乎很奇怪,所以我不禁认为我配置了一些不正确的东西。我将不胜感激您可能拥有的任何见解。