Restkit:在所有的请求

问题描述:

执行Restkit请求与“无”的keyPath工作正常后得到mappingResult与“ ”,我得到它的回应: Restkit:在所有的请求

"<null>" = "<EstablishmentReservationsMapping: 0x7fc42d1140f0>" 

但我仍然得到它在所有接下来的请求mappingResults,像这样:

"<null>" = "<EstablishmentReservationsMapping: 0x7fc42d1140f0>"; 
"my_establishments" =  (
     "<Establishment: 0x7fc42f89ae10>", 
     "<Establishment: 0x7fc42f89b220>", 
     "<Establishment: 0x7fc42f89b8f0>", 
     "<Establishment: 0x7fc42f90bd10>", 
     "<Establishment: 0x7fc42f990d60>", 
     "<Establishment: 0x7fc42f93a650>", 
     "<Establishment: 0x7fc42f9e6bb0>", 
     "<Establishment: 0x7fc42fe9a0a0>", 
     "<Establishment: 0x7fc42f9dcbc0>" 
    ); 

我想要得到的只是:

"my_establishments" =  (
    "<Establishment: 0x7fc42f89ae10>", 
    "<Establishment: 0x7fc42f89b220>", 
    "<Establishment: 0x7fc42f89b8f0>", 
    "<Establishment: 0x7fc42f90bd10>", 
    "<Establishment: 0x7fc42f990d60>", 
    "<Establishment: 0x7fc42f93a650>", 
    "<Establishment: 0x7fc42f9e6bb0>", 
    "<Establishment: 0x7fc42fe9a0a0>", 
    "<Establishment: 0x7fc42f9dcbc0>" 
); 

这是第二个请求的响应responseDescriptor:

RKResponseDescriptor *responseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:establishmentMapping method:RKRequestMethodGET pathPattern:nil keyPath:@"my_establishments" statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)]; 

[_objectManager addResponseDescriptor:responseDescriptor]; 

的问题是pathPattern:nil因为这意味着所有的响应描述符总是被认为是对每个响应。这导致在许多情况下创建空对象。

要修复问题,请将路径模式添加到每个响应描述符中,以便RestKit能够确定它应该使用哪一个。

+0

您的解决方案解决了我的问题,我为所有请求响应描述符添加了路径模式,并完成了。 – Abdel 2015-02-10 11:50:29