1

如果我要返回 JSON 中的一组对象,并且我已经为这些对象设置了映射,为什么 RestKit 只返回一个对象而不是一个数组?

RestKit 在日志中给出了这个输出:将包含 10 个对象的强制对象映射结果转换为单个结果。

4

1 回答 1

2

这取决于您在 RKObjectMappingResult 上调用的方法。

...
yourMapping = [RKObjectMapping mappingForClass:[YourExchangeObject class]];   
[yourMapping mapKeyPath:@"attribute" toAttribute:@"attribute"];  
...

RKObjectMappingProvider *provider = [RKObjectMappingProvider new]; 
[provider setMapping:yourMapping forKeyPath:@""]; 

RKObjectMapper *mapper = [RKObjectMapper mapperWithObject:parsedData mappingProvider:provider];
RKObjectMappingResult *mappingResult = [mapper performMapping];

所以现在如果你打电话

NSObject *object = [mappingResult asObject];  

您将收到“包含...的强制对象映射结果”警告,并且只会提供一个结果

改为打电话

NSArray *array = [mappingResult asCollection];  

它应该可以工作

于 2013-01-07T17:13:36.330 回答