我有一個獨特的問題。我已經閱讀了RestKit文檔幾天了,我很確定RK可以做到這一點,我只是不知道如何設置。當我第一次登錄時,我的API返回一個如下所示的聯繫人JSON,我需要加載被引用但未嵌套的組和團隊。如果可能的話,我真的需要在CoreData上下文被保存之前發生這些加載。如何遞歸加載由RestKit中的外鍵標識的嵌套對象?
是否可以配置RestKit自動遞歸這些引用?如果沒有,對一個好的一般方法有什麼建議?
{
"contactid": "003i0000016aiI8AAI",
"signed_waiver": "1",
"current_groupid": "T1Gj6mxcoXposmVUAA",
"current_teamid": "T1Gj6mxcoXposmVU11",
"createdby": "003i000001M4Y6fAAF",
"created": "Fri, 16 Jan 2015 21:14:07 +0000",
"updatedby": "003i0000016aiI8AAI",
"updated": "Sat, 13 Jun 2015 15:13:35 +0000"
}
如果放棄,current_groupid,或current_teamid沒有設定我需要在登機嚮導顯示,如果他們那麼我直接進入到應用程序,然後要求有關組和團隊裝載資料(姓名,幾何,會員等)。我無法將服務器API更改爲直接嵌套此結構。
我已經能夠讓我的CoreData實體Contact
進行映射和保存。我與current_groupid
關係大打出手,終於在發現1787並遵循其建議後終於沒有崩潰。然而,它仍然得到保存爲零,所以我還是做錯了什麼......
let mapping = RKEntityMapping(forEntityForName: "Contact", inManagedObjectStore: rkManagedObjectStore)
mapping.identificationAttributes = ["apiID"]
mapping.addAttributeMappingsFromDictionary([
"contactid": "apiID",
"signed_waiver": "signedWaiver",
"current_groupid": "rkCurrentGroupId",
])
mapping.addConnectionForRelationship("currentGroup", connectedBy: ["rkCurrentGroupId": "apiID"])
爲了清楚起見,我跟實體具有字符串上述所有和連接到集團currentGroup關係的屬性。 currentCanvassers。