Указать конкретное сопоставление для объектов в массиве JSON в RESTkit?

Я получаю этот JSON от django-rest-framework, когда запрашиваю список объектов UserProfile:

[
    {
        "gender": 1, 
        "show_gender": true, 
        "show_real_name": true
    }, 
    {
        "gender": 2, 
        "show_gender": true, 
        "show_real_name": true
    }
]

Но я не знаю, как настроить сопоставления с помощью Restkit. Похоже, что Restkit ожидает словарь вместо списка, поскольку он, похоже, использует словарь keys как «KeyPath», чтобы определить необходимые сопоставления. Есть ли способ указать сопоставление для полученных объектов вручную?


person winsmith    schedule 14.02.2012    source источник


Ответы (1)


Понятно!

// define a mapping
RKObjectMapping* userMapping = [RKObjectMapping mappingForClass:[ERUser class]];
[userMapping mapAttributes:
 @"gender",
 @"show_gender",
 @"show_real_name",
 nil];

// add the mapping anonymously
[objectManager.mappingProvider addObjectMapping:userMapping];

// tell the mapping provider which mapping to use
RKObjectMapping* articleMapping = [[RKObjectManager sharedManager].mappingProvider objectMappingForClass:[ERUser class]];
[objectManager loadObjectsAtResourcePath:@"/users" objectMapping:articleMapping delegate:self];
person winsmith    schedule 14.02.2012