RestKit:我可以将对象数组映射到数组中保存的对象到实体吗?

时间:2013-06-20 09:19:41

标签: ios restkit

检查此JSON文档:

{
"result": {
    "playlists": [
        {
        "name": "p1",
        "songs": [
            {
            "title": "t",
            "artist": "a"
            },
            {
            "title": "t",
            "artist": "a"
            }
        ]
        },
        {
        "name": "p2",
        "songs": [
            {
            "title": "t",
            "artist": "a"
            },
            {
            "title": "t",
            "artist": "a"
            }
        ]
        }
    ] 
}
}

我是否可以仅映射此文档中的“歌曲”而不创建除“歌曲”之外的任何其他实体。在这种情况下,我不关心播放列表。 我为Song实体做了一个RKEntityMapping。 现在要制作RKResponseDescriptor我应该提供什么keyPath来匹配所有“Song”实体?

我尝试了“result.playlists.songs”,但这不起作用。

RKEntityMapping *songMapping = [RKEntityMapping mappingForEntityForName:@"Song"
                                                   inManagedObjectStore:[RKManagedObjectStore defaultStore]];

[songMapping addAttributeMappingsFromArray:@[@"title", @"artist"]];

RKResponseDescriptor *songsResponseDescriptor = [RKResponseDescriptor responseDescriptorWithMapping:songMapping
                                                                                       pathPattern:@"/playlists"
                                                                                           keyPath:@"result.playlists.songs"
                                                                                       statusCodes:RKStatusCodeIndexSetForClass(RKStatusCodeClassSuccessful)];

[[RKObjectManager sharedManager] addResponseDescriptor:songsResponseDescriptor];

RestKit足够强大吗?

有没有办法指定“播放列表”是一个数组,并且必须检查所有对象的“songs”属性?

我知道如果我将播放列表与“PlayList”实体相匹配,“result.playlists”会有效,但我想跳过那个并深入了解。有可能吗?

0 个答案:

没有答案