2015-02-09 61 views
0

執行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]; 

回答

0

的問題是pathPattern:nil因爲這意味着所有的響應描述符總是被認爲是對每個響應。這導致在許多情況下創建空對象。

要修復問題,請將路徑模式添加到每個響應描述符中,以便RestKit能夠確定它應該使用哪一個。

+0

您的解決方案解決了我的問題,我爲所有請求響應描述符添加了路徑模式,並完成了。 – Abdel 2015-02-10 11:50:29