I am using RestKit to parse JSON and map it into Core Data NSManagedObjects. Here is a sample JSON.
{
"events": [
{
"description": "...",
"subject_type": "photo",
"subject": {
"id": 1,
"thumb_url": "...",
"medium_url": "...",
"large_url": "..."
}
},
{
"description": "...",
"subject_type": "user",
"subject": {
"id": 1,
"username": "...",
"followers": "..."
}
}
]
}
Using RKObjectMappingProvider
and RKManagedObjectMapping
I am mapping the "events"
array into separate Core Data Event
objects. This works fine.
Now Event
has two relationships on it User
and Photo
. Now I need to map the subject array to the proper Core Data object based on the value of "subject_type"
and set that to the correct relationship on Event
.
I tried using RKDynamicObjectMapping
but I don't know how to specify that for a "dynamic relationship". I need some way to set the name of the destination relationship based on the value of subject_type
.
Any thoughts?
In RestKit, RKDynamicMapping
also allows the use of a specified block to do more complex dynamic mapping operations like the one that you describe. The specific method that gives this capability is called setObjectMappingForRepresentationBlock
Here are some docs on that method : http://restkit.org/api/latest/Classes/RKDynamicMapping.html#//api/name/setObjectMappingForRepresentationBlock:
The RestKit unit tests illustrate some simple cases for this method.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With