У меня возникла проблема с отображением значения вложенного объекта.RestKit 0.20 вложенное сопоставление объектов (путь к дереву объектов разный)
я получил два объекта со следующими свойствами: )
class Input
@property NSString value;
@property NSString title;
б)
class Profile
@property Input myAwesomeInput;
..so Профиль содержит объект ввода. Когда я перебираю объекты с помощью RestKit (0.20), я получаю sth. как это:
{ myAwesomeInput_test:{"value":"xyz","title":"a title"}}
То, что я хочу достичь, это:
{myAwesomeInput_test:"xyz"}
Так что я не хочу, чтобы отобразить "Input", но только Input.value. Возможно ли это?
На данный момент мой код выглядит следующим образом:
RKObjectMapping* inputMapping = [RKObjectMapping requestMapping];
[inputMapping addAttributeMappingsFromArray:@[@"value"]];
RKRequestDescriptor *reqDescInput = [RKRequestDescriptor requestDescriptorWithMapping:inputMapping objectClass:[Input class] rootKeyPath:nil];
RKObjectMapping* searchProfile = [RKObjectMapping requestMapping];
RKRequestDescriptor *reqDescSearchProfile = [RKRequestDescriptor requestDescriptorWithMapping:searchProfile objectClass:[SearchProfile class] rootKeyPath:nil];
[searchProfile addPropertyMapping:[RKRelationshipMapping relationshipMappingFromKeyPath:@"myAwesomeInput" toKeyPath:@"myAwesomeInput_test" withMapping:inputMapping]];
EDIT: (решена)
Хорошо я решил. Надеюсь, это так, как люди должны это делать. Вы можете напрямую обращаться из словаря.
RKObjectMapping* searchProfile = [RKObjectMapping requestMapping];
[aeSearchProfile addAttributeMappingsFromDictionary:@{
@"myAwesomeInput.value": @"myAwesomeInput_test"
}];
RKRequestDescriptor *reqDescSearchProfile = [RKRequestDescriptor requestDescriptorWithMapping:searchProfile objectClass:[SearchProfile class] rootKeyPath:nil];
спасибо, я думаю, мы нашли/отправил ответ в то же время (посмотрите на время отвечал: D Во всяком случае, это будет хороший и быстрый способ для других, которые имеют тот же зонд еще раз спасибо. – jeven