RestKit и кодирование значения ключа ... как обращаться к повторяющимся элементам? - PullRequest
4 голосов
/ 30 января 2012

У меня есть документ, который иногда выглядит так:

<doc>
  <titleInfo>
    <title>One version of the title</title>
  </titleInfo>
  <titleInfo>
    <title>Another version</title>
  </titleInfo>
</doc>

Но в других случаях это выглядит так:

<doc>
  <titleInfo>
    <title>This is the only version of the title</title>
  </titleInfo>
</doc>

Я пытаюсь сопоставить это с массивом в моем объекте со следующим:

[mapping mapKeyPath:@"titleInfo.title" toAttribute:@"titles"];

Это работает в первом случае, но во втором случае я получаю

RKObjectMappingOperation.m:199 Failed transformation of value at keyPath 'titleInfo.title'. No strategy for transforming from '__NSCFString' to 'NSArray'

Ясно, что RestKit правильно интерпретирует первый документ как содержащий массив строк, но в случае второго документа я не могу найти способ вызвать такую ​​же интерпретацию.

Есть ли простой способ выразить это с помощью средств KVC в RestKit, или мне лучше написать какой-то совершенно собственный маппер?

1 Ответ

0 голосов
/ 12 февраля 2012

Согласно Блейку Уолтерсу: парсер LibXML на master и в 0.9.3 имел множество проблем и был недавно заменен решением на основе NSXMLParser в ветви разработки RestKit, и это решает некоторые проблемы.

Лучшим способом является упаковка повторяющихся элементов в массив для доступа.

...