RestKit: карта 2-мерного массива (коллекция в коллекции) - PullRequest
1 голос
/ 29 февраля 2012

Я просто пытался проанализировать JSON-объект, который включает в себя двумерный массив.

Пример:

{
  "2dimarray": [
                 [{"key": "val"}, {"key": "val"}],
                 [{"key": "val"}, {"key": "val"}]
               ]
}

Предполагая, что содержимое 2dimarray[x][y] относится только к одному типу, я добавил отображение:

[objectMapping mapKeyPath:@"2dimarray" toRelationship:@"2dimarray" withMapping: myMappingForIncludedObjects];

В журнале RestKit мне говорят:

W restkit.object_mapping:RKObjectMappingOperation.m:438 WARNING: Detected a relationship mapping for a collection containing another collection. This is probably not what you want. Consider using a KVC collection operator (such as @unionOfArrays) to flatten your mappable collection.

Но на самом деле это то, что я хочу. По сути, я предполагал, что сопоставитель объектов заполнит мое свойство Objective-C NSArray* 2dimarray NSArray* s, которое включает объекты, сопоставленные с myMappingForIncludedObjects. Вместо этого каждый массив отображается (что, конечно, не удается) с помощью myMappingForIncludedObjects.

Что я делаю не так? Или лучше: что мне нужно сделать, чтобы архивировать поведение, которое я ожидал?

1 Ответ

0 голосов
/ 10 марта 2012

Я полагаю, что проблема, которую вы цитируете, объясняет Блейк, а не решение.Я не думаю, что RestKit настроен для обработки отображения, которое вы описываете (массив массивов объектов).Вы можете просмотреть пример того, что он описывает в этой проблеме, а также посмотреть его коммит, и вы увидите, что введенная логика была нацелена на обнаружение проблемы и ее запись в целях отладки.

...