将POST响应映射到不同的对象 - RestKit

时间:2013-05-14 10:06:40

标签: ios objective-c restkit

我正在尝试POST一个对象(类CompletedTest),然后使用RestKit 10.0解析返回的对象(类Response)。遗憾的是,RestKit尝试将返回的对象映射到已发布对象的类。

如果我使用此代码:

[[RKObjectManager sharedManager] postObject:tempCA delegate:self]; 

我收到错误:

Expected an object mapping for class of type 'CompletedAssessment', provider returned one for 'Response'

如果我使用块代码指定映射路径

[[RKObjectManager sharedManager] postObject:tempCA usingBlock:^(RKObjectLoader* loader) {
    loader.delegate = self;
    loader.objectMapping = [PLMapper responseMapper];
}];

我得到同样的错误;

谷歌搜索,似乎添加到块应该有帮助:

loader.targetObject = nil;

这确实消除了错误,但没有映射任何对象 - 返回的数组包含0个对象。

我的映射器都包含在一个帮助器类PLMapper中,它包含大约20个映射器,所有这些映射器都在其他上下文中工作,包括其他上下文中的responseMapper。

有趣的是,如果我将objectMapping代码从块中取出:

    [[RKObjectManager sharedManager] postObject:tempCA usingBlock:^(RKObjectLoader* loader) {
    loader.targetObject = nil;
    loader.delegate = self;
}];

我在第329行,第11行,断点1.1

中的RestKit RKObjectMappingOperations.m中崩溃
value = [self.sourceObject valueForKeyPath:attributeMapping.sourceKeyPath];

不确定我在这里做错了什么!非常感谢。

0 个答案:

没有答案