我从 ws 得到一个这样的 json 文档:
{
...
error=true,
errorMsg="xyz",
errorCode="1234"
}
但是这些属性是可选的,所以有时它们存在,有时它们不存在。
我为只读错误添加了一个动态映射 - 仅当错误设置为 true
任何一个:
[dynamicMapping addMatcher:[RKObjectMappingMatcher matcherWithKeyPath:@"error" expectedValue:[NSNumber numberWithInt:1] objectMapping:errorMapping]];
或者
[dynamicMapping setObjectMappingForRepresentationBlock:^RKObjectMapping *(id representation) {
if ([[representation valueForKey:@"error"] isEqualToNumber:[NSNumber numberWithInt:1]]) {
return errorMapping;
}
return nil;
}];
如果 error=true 一切正常,但如果缺少错误属性,我会收到警告:
restkit.object_mapping:RKMapperOperation.m:98 Adding mapping error: Could not find an object mapping for keyPath: '<null>'
我只是想摆脱警告。这个问题的最佳实践是什么?如何将属性标记为可选?