RestKit基于Value动态映射关系名称

bry*_*yle 7 iphone json objective-c ios restkit

我正在使用RestKit来解析JSON并将其映射到Core Data NSManagedObjects.这是一个示例JSON.

{
    "events": [
        {
            "description": "...",
            "subject_type": "photo",
            "subject": {
                "id": 1,
                "thumb_url": "...",
                "medium_url": "...",
                "large_url": "..."
            }
        },
        {
            "description": "...",
            "subject_type": "user",
            "subject": {
                "id": 1,
                "username": "...",
                "followers": "..."
            }
        }
    ]
}
Run Code Online (Sandbox Code Playgroud)

使用RKObjectMappingProviderRKManagedObjectMapping我将"events"数组映射到单独的Core Data Event对象.这很好用.

现在,Event上有两个关系UserPhoto.现在我需要根据值将主题数组映射到正确的Core Data对象,"subject_type"并将其设置为正确的关系Event.

我试过使用,RKDynamicObjectMapping但我不知道如何指定"动态关系".我需要一些方法来根据值设置目标关系的名称subject_type.

有什么想法吗?

小智 1

在 RestKit 中, RKDynamicMapping还允许使用指定的块来执行更复杂的动态映射操作,如您所描述的操作。提供这种能力的具体方法称为setObjectMappingForRepresentationBlock

以下是有关该方法的一些文档: http://restkit.org/api/latest/Classes/RKDynamicMapping.html#//api/name/setObjectMappingForRepresentationBlock

RestKit 单元测试说明了此方法的一些简单情况。