Предупреждение RestKit: «Найдено собрание, содержащее только значения NSNull ...» - PullRequest
6 голосов
/ 15 августа 2011

У меня есть приложение на основе RestKit с одним сопоставленным классом.Кажется, все работает нормально.Однако, когда я получаю объекты, RestKit выдает предупреждение:

W restkit.object_mapping:RKObjectMapper.m:90 Found a collection containing only NSNull values, considering the collection unmappable...

Предупреждение появляется дважды (предположительно, потому что в ответе JSON есть два объекта).Как я могу это исправить?

Вот мое отображение:

RKManagedObjectMapping* presentationMapping = [RKManagedObjectMapping mappingForClass:[Presentation class]];
presentationMapping.primaryKeyAttribute = @"presentationId";
[presentationMapping mapKeyPath:@"id" toAttribute:@"presentationId"];
[presentationMapping mapKeyPath:@"title" toAttribute:@"title"];
[presentationMapping mapKeyPath:@"description" toAttribute:@"descriptionText"];
[presentationMapping mapKeyPath:@"download_url" toAttribute:@"downloadUrlString"];
[presentationMapping mapKeyPath:@"download_file_size" toAttribute:@"downloadFileSize"];

[objectManager.mappingProvider setMapping:presentationMapping forKeyPath:@"presentation"];

Вот как я получаю объекты:

[[RKObjectManager sharedManager] loadObjectsAtResourcePath:@"/presentations" delegate:self];

Вот моя структура JSON (полученная через curl):

[
  {
    "presentation": {
      "created_at":"2011-08-13T17:09:40+02:00",
      "description":"Lorem ipsum",
      "id":1,
      "title":"Xxx",
      "updated_at":"2011-08-13T17:09:40+02:00",
      "download_url":"http://xxx.example.com/system/downloads/1/original/presentation1.zip?1313248180",
      "download_file_size":171703
    }
  },
  {
    "presentation": {
      "created_at":"2011-08-13T17:10:30+02:00",
      "description":"Dolor sit amet",
      "id":2,
      "title":"Zzz",
      "updated_at":"2011-08-15T00:22:10+02:00",
      "download_url":"http://xxx.example.com/system/downloads/2/original/zzz.zip?1313360530",
      "download_file_size":3182117
    }
  }
]

Сервером является приложение Rails 3.0, которым я управляю и при необходимости могу изменить формат ответа.

Я использую RestKit 0.9.3.

Ответы [ 2 ]

1 голос
/ 15 августа 2011

Это предупреждение не является признаком неправильного отображения.На самом деле это сообщение, вероятно, должно быть зарегистрировано как Debug или Trace, поскольку оно может появляться как часть нормального сопоставления объектов.Я отправлю запрос на извлечение, чтобы изменить уровень журнала на будущее.Так что будьте уверены, с вашим отображением все в порядке, и никаких изменений не требуется, чтобы успокоить это предупреждение.:)

0 голосов
/ 09 ноября 2011

По-прежнему получая это предупреждение на недавно установленном RestKit, внесены следующие изменения в код RestKit.

FILE: RKPbjectMapper.m 
FUNCTION: (BOOL)isNullCollection:(id)object
LINE: 104

изменен:

RKLogWarning(@"Found a collection containing only NSNull values, considering the collection unmappable...");

до:

RKLogDebug(@"Found a collection containing only NSNull values, considering the collection unmappable...");
...