2
我想弄清楚如何使用RestKit實現將API
響應映射到CoreData對象。 API
使用JSOG標準。這裏有一個例子:JSOG API對象的RestKit映射
[
{
"@id": "1",
"name": "Sally",
"friend": {
"@id": "2",
"name": "Bob",
"friend": {
"@id": "3",
"name": "Fred",
"friend": { "@ref": "1" }
}
}
},
{ "@ref": "2" },
{ "@ref": "3" }
]
我將如何創建一個RKEntityMapping
這種JSON
?簡單屬性的映射很簡單,問題是如何在這裏設置關係,以便它們可以與@ref
一起使用,當頂級用戶對象僅包含@ref
時也是如此。
RKEntityMapping *userMapping = [RKEntityMapping mappingForEntityForName:@"Question"
inManagedObjectStore:[RKObjectManager sharedManager].managedObjectStore];
[userMapping addAttributeMappingsFromDictionary:@
{
@"@id" : @"identifier",
@"name" : @"name"
}];
[userMapping addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"friend"
toKeyPath:@"friend"
withMapping:userMapping]];
我的猜測是,我可以使用下面的代碼來處理@ref
內的物體:
[userMapping addConnectionForRelationship:@"friend" connectedBy:@{@"@ref": @"@id"}];
但它是正確的嗎?
- 怎麼會,我不是一個完整的對象或只是一個參考映射到一個已經提供的對象(通過
@ref
)實際核心數據對象? - 如何將JSON的頂層元素(作爲
User
對象的列表)映射到User
實體的實際列表?
感謝您的回答!我取得了進展,但我認爲我沒有完全掌握它。我更新了我的問題,澄清了我現在阻止了什麼。請看一看。我將如何創建外鍵映射? – RaffAl
我和@Bearwithme處於同樣的境地,而Wain的命題就像是一種魅力!但是有一件事我想知道:是不是可以用'@'符號爲keypath加前綴? – ahaese
我似乎記得它是一個問題,由於KVC @ahaese – Wain