【发布时间】:2013-01-08 01:13:36
【问题描述】:
如果我在 JSON 中返回一组对象,并且我为这些对象设置了映射,为什么 RestKit 只返回一个对象而不是数组?
RestKit 在日志中给出以下输出: 将包含 10 个对象的强制对象映射结果转换为单个结果。
【问题讨论】:
如果我在 JSON 中返回一组对象,并且我为这些对象设置了映射,为什么 RestKit 只返回一个对象而不是数组?
RestKit 在日志中给出以下输出: 将包含 10 个对象的强制对象映射结果转换为单个结果。
【问题讨论】:
这取决于您在 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];
它应该可以工作
【讨论】: